Post

Replies

Boosts

Views

Created

How do I set UICloudSharingController.availablePermissions to not allow participants other than the owner of CKShare to copy or send a link from UICloudSharingController?
I have an app that uses CKShare and UICloudSharingController to share data with other users of my app. I noticed that when Owner shares with UserA, UserA is able to "copy" the link or "send" the link, as the title of the button use. How do I disable that completely so that only the owner can copy or send the link? Also, what determines whether it says "Copy Link" or "Send Link"? Does that have to do with the version of iOS? I've tried every combination of UICloudSharingController.PermissionOptions to set to UICloudSharingController..availablePermissions ... [.allowPrivate, .allowReadOnly], [.allowReadOnly], [.allowPrivate], and []. Setting the value to [] sets it to .standard, which does the exact same thing as [.allowPrivate, .allowReadOnly], though the value is different for availablePermissions property.
2
0
865
Dec ’22
What does .allowReadWrite property of UICloudSharingController allow the current user to do if his/her participant permission property is readWrite?
Is the owner and the the app the only ones that can change the value of CKShare.publicPermission using UICloudSharingController? I mean, can a participant change the the value of CKShare.publicPermission using UICloudSharingController if the permission property of that participant is readWrite and the participant has access to the presented UICloudSharingController and its availablePermissions property includes allowReadWrite? What exactly does UICloudSharingController.PermissionOptions.allowReadWrite grant read and write access to? Does that mean the current user can change the CKShare.publicPermission property? I don't think the user can change the values of the permission properties of participants if he/she changes CKShare.publicPermission. The way participants are affected is that they may lose access to the CKShare, but their permission property can only be set by the owner. Am I right about this?
1
0
753
Dec ’22
How do I restrict a share to only be shared by specific users in iOS 16?
Has anyone noticed that with the latest iOS (16.1.2), UICloudSharingController doesn't restrict who can have access to the share when you set the availablePermissions to include .allowReadOnly and exclude .allowReadWrite. It behaves as I expect in the previous versions of iOS. Anyone know anything that would help me with this problem?
1
0
718
Dec ’22
Error message "Thread 10: EXC_BREAKPOINT (code=1, subcode=0x10515fd44)" in Xcode
I have been getting these error messages in debug window in Xcode: 2023-06-06 07:46:15.412684-0500 Courier[8456:442818] [LayoutConstraints] Unsupported layout off the main thread for _UIModernBarButton with nearest ancestor view controller, UINavigationController 2023-06-06 07:46:15.413268-0500 Courier[8456:442818] [Assert] -[UIImageView _invalidateImageLayouts] must be called on the main queue 2023-06-06 07:46:15.413730-0500 Courier[8456:442818] [Assert] -[UIImageView _layoutForImage:inSize:cachePerSize:forBaselineOffset:] must be called on the main queue (lldb) The messages come when my code crashes and gives this error message in a red ribbon in the editor window: Thread 10: EXC_BREAKPOINT (code=1, subcode=0x10515fd44) In the Debug navigator on the left pane of Xcode, it shows the code stopped at: #0 0x000000010515fd44 in _dispatch_assert_queue_fail () This is what shows at the end in the editor window. At the very end is where the error message in the red ribbon shows: 0x10515fd10 <+68>: add x9, x9, #0xf2f ; "BUG IN CLIENT OF LIBDISPATCH: Assertion failed: " 0x10515fd14 <+72>: stp x9, x8, [sp] 0x10515fd18 <+76>: adrp x1, 65 0x10515fd1c <+80>: add x1, x1, #0xefa ; "%sBlock was %sexpected to execute on queue [%s (%p)]" 0x10515fd20 <+84>: sub x0, x29, #0x18 0x10515fd24 <+88>: bl 0x10519cfc8 ; symbol stub for: asprintf 0x10515fd28 <+92>: ldur x19, [x29, #-0x18] 0x10515fd2c <+96>: str x19, [sp] 0x10515fd30 <+100>: adrp x0, 65 0x10515fd34 <+104>: add x0, x0, #0xf65 ; "%s" 0x10515fd38 <+108>: bl 0x1051986b0 ; _dispatch_log 0x10515fd3c <+112>: adrp x8, 98 0x10515fd40 <+116>: str x19, [x8, #0x268] -> 0x10515fd44 <+120>: brk #0x1 I have no idea which code is causing the error, so I don't even know what code to put in my question. I created a symbolic breakpoint with 'LayoutConstraints' in the Symbol field. It is never tripped. I get no purple warnings that says a line of code should not be in the main thread. I have no idea where to go from here. I don't ind anything when I do a search in the internet that is narrowed down to address my error. I am running the code on an iPhone 13 Pro Max device with iOS 16.5. I am using Xcode 14.3 on a Mac Pro running Ventura 13.4
3
2
1.6k
Jun ’23
Playground execution failed: error: Execution was interrupted, reason: shared-library-event.
Why did I get an error in playground in debug window for this code? print("// MARK: - Start execable code here...") do { let store = CNContactStore() if try await store.requestAccess(for: .contacts) { // Do something with Contacts. let phoneNumber = CNPhoneNumber(stringValue: "903-276-1046") let predicateForContactsMatchingPhoneNumber = CNContact.predicateForContacts(matching: phoneNumber) let contactFetchRequest = CNContactFetchRequest(keysToFetch: thoroughKeysToCompare) contactFetchRequest.predicate = predicateForContactsMatchingPhoneNumber contactFetchRequest.unifyResults = true var contactOfMe: CNContact! = nil try! store.enumerateContacts(with: contactFetchRequest) { contact, stop in contactOfMe = contact stop.pointee = true } let contact = Contact(cnContact: contactOfMe) for property in contact.enumerated() { print("- \(property)") } } else { // Handle if Contacts access is denied. fatalError() } } catch { // Handle any error. print("error requesting access: \(error.localizedDescription)") } Debug window: // MARK: - Start execable code here... Playground execution failed: error: Execution was interrupted, reason: shared-library-event. The process has been left at the point where it was interrupted, use "thread return -x" to return to the state before expression evaluation. * thread #1, queue = 'com.apple.main-thread' frame #0: 0x00007ff80002f931 libobjc.A.dylib`_mapStrHash(_NXMapTable*, void const*) + 73 frame #1: 0x00007ff80002fc7f libobjc.A.dylib`_NXMapMember(_NXMapTable*, void const*, void**) + 35 frame #2: 0x00007ff80003b7ae libobjc.A.dylib`getProtocol(char const*) + 41 frame #3: 0x00007ff8000428e6 libobjc.A.dylib`class_conformsToProtocol + 337 frame #4: 0x00007ff80004ab4e libobjc.A.dylib`-[NSObject conformsToProtocol:] + 47 frame #5: 0x0000000109c27951 UIKitCore`_UIFocusItemContainerIsScrollableContainer + 74 frame #6: 0x0000000109c28e38 UIKitCore`-[_UIFocusEnvironmentContainerTuple initWithOwningEnvironment:itemContainer:] + 194 frame #7: 0x0000000109c28fed UIKitCore`+[_UIFocusEnvironmentContainerTuple tupleWithOwningEnvironment:itemContainer:] + 70 frame #8: 0x0000000109c4f41e UIKitCore`_UIFocusRegionContainerFromEnvironmentAndContainer + 44 frame #9: 0x0000000109c27ed3 UIKitCore`_UIFocusItemContainerAddChildItemsInContextWithArguments + 1162 frame #10: 0x000000010a99c439 UIKitCore`-[UIView _searchForFocusRegionsInContext:] + 962 frame #11: 0x0000000109c6b37f UIKitCore`-[_UIFocusMapSnapshot addRegionsInContainer:] + 4583 frame #12: 0x0000000109c69740 UIKitCore`-[_UIFocusMapSnapshot _capture] + 456 frame #13: 0x0000000109c67fc5 UIKitCore`-[_UIFocusMapSnapshot _initWithSnapshotter:mapArea:searchArea:] + 628 frame #14: 0x0000000109c6cce2 UIKitCore`-[_UIFocusMapSnapshotter captureSnapshot] + 227 frame #15: 0x0000000109c5f450 UIKitCore`-[_UIFocusMap _inferredDefaultFocusItemInEnvironment:] + 147 frame #16: 0x0000000109c2b1cf UIKitCore`-[_UIFocusEnvironmentPreferenceEnumerationContext _inferPreferencesForEnvironment:] + 157 frame #17: 0x0000000109c2abbc UIKitCore`-[_UIFocusEnvironmentPreferenceEnumerationContext _resolvePreferredFocusEnvironments] + 118 frame #18: 0x0000000109c2ab12 UIKitCore`-[_UIFocusEnvironmentPreferenceEnumerationContext prefersNothingFocused] + 31 frame #19: 0x0000000109c2beeb UIKitCore`_enumeratePreferredFocusEnvironments + 198 frame #20: 0x0000000109c2c061 UIKitCore`_enumeratePreferredFocusEnvironments + 572 frame #21: 0x0000000109c2c061 UIKitCore`_enumeratePreferredFocusEnvironments + 572 frame #22: 0x0000000109c2c061 UIKitCore`_enumeratePreferredFocusEnvironments + 572 frame #23: 0x0000000109c2bd11 UIKitCore`-[_UIFocusEnvironmentPreferenceEnumerator enumeratePreferencesForEnvironment:usingBlock:] + 230 frame #24: 0x0000000109c2c747 UIKitCore`-[_UIDeepestPreferredEnvironmentSearch deepestPreferredFocusableItemForEnvironment:withRequest:] + 817 frame #25: 0x0000000109c95837 UIKitCore`-[UIFocusUpdateContext _updateDestinationItemIfNeeded] + 265 frame #26: 0x0000000109c95627 UIKitCore`-[UIFocusUpdateContext _destinationItemInfo] + 22 frame #27: 0x0000000109c95535 UIKitCore`-[UIFocusUpdateContext nextFocusedItem] + 24 frame #28: 0x0000000109c71ea6 UIKitCore`-[UIFocusSystem updateFocusIfNeeded] + 1347 frame #29: 0x0000000109c7608c UIKitCore`__43-[UIFocusSystem _updateFocusUpdateThrottle]_block_invoke + 34 frame #30: 0x000000010a94b971 UIKitCore`-[_UIAfterCACommitBlock run] + 57 frame #31: 0x000000010a94be71 UIKitCore`-[_UIAfterCACommitQueue flush] + 191 frame #32: 0x000000010a3926eb UIKitCore`_runAfterCACommitDeferredBlocks + 782 frame #33: 0x000000010a380fa2 UIKitCore`_cleanUpAfterCAFlushAndRunDeferredBlocks + 96 frame #34: 0x000000010a3b6be1 UIKitCore`_afterCACommitHandler + 58 frame #35: 0x00007ff8003b1c12 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 frame #36: 0x00007ff8003ac57f CoreFoundation`__CFRunLoopDoObservers + 515 frame #37: 0x00007ff8003acaa2 CoreFoundation`__CFRunLoopRun + 1121 frame #38: 0x00007ff8003ac264 CoreFoundation`CFRunLoopRunSpecific + 560 frame #39: 0x00007ff8003ad234 CoreFoundation`CFRunLoopRun + 40 frame #40: 0x00007ff83755a4e3 libswift_Concurrency.dylib`swift_task_asyncMainDrainQueueImpl() + 35 frame #41: 0x00007ff83755a4b4 libswift_Concurrency.dylib`swift_task_asyncMainDrainQueue + 52 frame #42: 0x00000001015d409f $__lldb_expr32`main at <unknown>:0 frame #43: 0x0000000100e25560 EnumeratedContactsCNContact`linkResources + 256 frame #44: 0x00007ff8003b2986 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12 frame #45: 0x00007ff8003b2148 CoreFoundation`__CFRunLoopDoBlocks + 399 frame #46: 0x00007ff8003ace09 CoreFoundation`__CFRunLoopRun + 1992 frame #47: 0x00007ff8003ac264 CoreFoundation`CFRunLoopRunSpecific + 560 frame #48: 0x00007ff809b4024e GraphicsServices`GSEventRunModal + 139 frame #49: 0x000000010a3827bf UIKitCore`-[UIApplication _run] + 994 frame #50: 0x000000010a3875de UIKitCore`UIApplicationMain + 123 * frame #51: 0x0000000100e256c5 EnumeratedContactsCNContact`main + 357 frame #52: 0x0000000100fbb384 dyld_sim`start_sim + 10 frame #53: 0x000000010943341f dyld`start + 1903```
0
1
1.3k
Jun ’23
How do I use bluetooth to send only a value of 0 and up to a bluetooth device?
How do I use Core Bluetooth in the simplest possible way to send a value of 0 to 1 from an iOS device to a bluetooth peripheral that does nothing but interpret the value sent to it as how strongly a vibrating component on the bluetooth peripheral should vibrate. A value of zero would mean the peripheral device doesn't vibrate at all, of course. The bluetooth peripheral would be the bluetooth ***** of course, and the iOS device would be the bluetooth master. The ***** device doesn't need to send anything at all to the master iOS device, except to link to the master. I don't know if that would allow the ***** bluetooth device to be any less expensive or smaller or simpler.
0
0
715
Jul ’23
How do I highlight a property in CNContactViewCotnroller?
The documentation for hightlightProperty(withKey:identifier:) describes the parameter "key" as the "Key of the property to highlight." I believe that refers to the CNKeyDescriptor, such as CNContactGivenNameKey, which can cast from a type CNKeyDescriptor to String. The documentation for identifier is "the value to highlight". I believe an example of that would be "John" as the given name. Am I correct about all this? In any case, I'm not able to highlight an email property when I use CNContactEmailAddresses as the key, and an actual email address as the identifier. I have also tried using the identifier property of CNLabeledValue, which is how an email address is stored. I can't find anything on the internet to explain this. I didn't even find a similar question, except my own question asking this exact same question about two months ago. Anyone have any idea or a good answer for this?
0
0
731
Aug ’23
"PosterBoard quit unexpectedly." warning in my Mac running macOS 13.4.1(c)
I don't see any current posts about the warning that says "PosterBoard quit unexpectedly." on my Mac. Older posts say this is an error generated by Xcode Simulator. I tried one of those solutions but I still see this warning coming up. I am also not using Simulator. I'm using an actual device - an iPhone 13 Pro Max running iOS 16.6. When I click on Reopen in that alert box telling me that warning message, I get a warning in an alert box with a picture of the Finder icon on it, and it says "You can’t open the application “PosterBoard.app” because this application is not supported on this Mac.". Anyone else have this problem and know what do do about it? Like fix it or get around it?
2
0
1.1k
Aug ’23