Post

Replies

Boosts

Views

Activity

Why does a participant of a share not have a record referenced by the root record?
I am able to share a record in CloudKit using the instructions in the Apple Documentation, including the CloudKitShare sample, but when another user accepts the share, only the root record is saved in the sharedDatabase. There is supposed to be another record that has a reference to the root record. I'm not sure what code to include in this post. Perhaps someone can tell me that much or know of a common programmer mistake that causes this error. Here is the basic code, after I have removed code not essential to the problem, to make my code easier to read. @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate {     func application(_ application: UIApplication, userDidAcceptCloudKitShareWith cloudKitShareMetadata: CKShare.Metadata) {         let container = CKContainer(identifier: cloudKitShareMetadata.containerIdentifier)         let acceptSharesOperation = CKAcceptSharesOperation(shareMetadatas: [cloudKitShareMetadata])         container.add(acceptSharesOperation)     } }
2
0
475
Apr ’22
BadRequestException: endpoint not applicable in the database type 'sharedb' in CloudKit Dashboard when viewing records of a share accepted
When I query for all the records of a certain record type, and then I click on the record name to view the record, I get this error at the bottom of the window pane that shows the details of the specific record: BadRequestException: endpoint not applicable in the database type 'sharedb' What is "endpoint" referring, what does it mean and what is causing this error message? Here is the part of the schema that defines the two record types involved: RECORD TYPE Group ( "___createTime" TIMESTAMP, "___createdBy" REFERENCE, "___etag" STRING, "___modTime" TIMESTAMP, "___modifiedBy" REFERENCE, "___recordID" REFERENCE QUERYABLE, debugTag STRING QUERYABLE SEARCHABLE SORTABLE, groupData BYTES, GRANT WRITE TO "_creator", GRANT CREATE TO "_icloud", GRANT READ TO "_world" ); RECORD TYPE LocalGroupIdentifier ( "___createTime" TIMESTAMP, "___createdBy" REFERENCE, "___etag" STRING, "___modTime" TIMESTAMP, "___modifiedBy" REFERENCE, "___recordID" REFERENCE QUERYABLE, groupReference REFERENCE, localGroupIdentifier STRING QUERYABLE SEARCHABLE, GRANT WRITE TO "_creator", GRANT CREATE TO "_icloud", GRANT READ TO "_world" ); The error comes when I view the details of a record of type Group. I use UICloudSharingController and CKModifyRecordsOperation as Apple Documentation shows in the Apple Documentation for UICloudSharingController and Sample Code: Sharing CloudKit Data with Other iCloud Users. It works just fine when I create the CKShare object. When I use the url to accept the share, it works fine except for the error in question, which shows when I view the record of type Group and the record of type LocalGroupIdentifier, which has a reference to the record of type Group. I use exactly one record of type Group and one record of type LocalGroupIdentifier. I used two different simulators with different Apple IDs for sharing and for accepting the share. They are both iPhone 8 with iOS 15.4. The share I create is in the private database, and the share accepted is in the shared database.
0
0
827
Apr ’22
How do I delete root records of shares?
When I try to delete records in CloudKit Dashboard by querying them and then selecting them and clicking on the trash can icon at the top right-hand side of the query results, I get a message box saying that those records will be deleted in a box shaded red, but the delete button at the bottom right-hand side of the box is grayed out and doesn't respond when I click it. These records were root records of shares whose shares in the cloudkit.share table I have deleted using CKModifyRecordsOperation. For some reason when I deleted the shares, the root records were not deleted. Then when I try to delete those root records using CKModifyRecordsOperation, I got an error. Here is my code in CKModifyRecordsOperation.modifyRecordsCompletionBlock that caught the error: if let error = error {     print("error:")     print(error.localizedDescription)     if let ckError = self.handleCloudKitError(error, operation: .modifyRecords) {         if let serverVersion = ckError.serverRecord {             serverRecord = serverVersion             print("serverRecord:")             print(serverRecord!)         }     } } Here is what my code above printed in the Debug window: error: Internal server error ModifyRecords operation error: <CKError 0x600001bb9920: "Server Rejected Request" (15/2000); server message = "Internal server error"; op = 49A32A559E4F4C11; uuid = 22F46530-5F45-463E-A21F-279C3876C897; container ID = "iCloud.us.gnolaum.Courier">
0
0
358
Apr ’22
How do I convert an struct of type Data to an object of type CNGroup?
I'm having trouble converting a CNGroup object to a Data object and back to a CNGroup object. I decided to start rethinking the problem again. Somewhere along the way I decided that I should use the Data class to save a CNGroup object to CloudKit. I also learned that the field type to use in my CKRecord object would be of the type bytes. Am I correct so far? I am able to convert a CNGroup object to a Data object and back again unless I store the Data object in CloudKit and then retrieve it before I convert the Data object back to a CNGroup object, in which case I get an error when I try to access the pointee property of the typed pointer. That would be an UnsafeBufferPointer, an UnsafeMutableBufferPointer, or an UnsafePointer. I've tried a lot of different code using different ways. It is impractical to put so much code in my post. I have used the copyBytes method and the withUnsafeBytes method of the Data object. There is one simple code, and that is when I converted the CNGroup object to a Data object: func convertCNGroupToData(fromCNGroup group: inout CNGroup) -> Data { return Data(bytes: &group, count: MemoryLayout.size(ofValue: group)) } I am looking for a simple way to do what I want. I am relooking at Apple's documentation of Data and NSData. I am not able to be more specific with this question. I appreciate any effort to help me with this.
1
0
599
Apr ’22
Xcode dialog box with message "Unable to lookup in current state: Shutdown"
I've never had this error before. When I try to run an iOS project in Xcode with a simulator, I get this message from XCode: "Unable to lookup in current state: Shutdown", and a button that says "Details", and a button that says"OK". When I quit simulator and try to run my project again, the same thing happens. When I click details it says "iPhone10,4 for device_model. The simulator is an iPhone 8 simulator. Here is what the whole thing says: (I don't know why some of the text has such a large font and is in bold.) Details Unable to lookup in current state: Shutdown Domain: com.apple.CoreSimulator.SimError Code: 405 User Info: {     DVTErrorCreationDateKey = "2022-04-16 23:02:18 +0000";     IDERunOperationFailingWorker = IDELaunchiPhoneSimulatorLauncher; } Analytics Event: com.apple.dt.IDERunOperationWorkerFinished : {     "device_model" = "iPhone10,4";     "device_osBuild" = "15.4 (19E240)";     "device_platform" = "com.apple.platform.iphonesimulator";     "launchSession_schemeCommand" = Run;     "launchSession_state" = 1;     "launchSession_targetArch" = "x86_64";     "operation_duration_ms" = 22;     "operation_errorCode" = 405;     "operation_errorDomain" = "com.apple.CoreSimulator.SimError";     "operation_errorWorker" = IDELaunchiPhoneSimulatorLauncher;     "operation_name" = IDERunOperationWorkerGroup;     "param_consoleMode" = 0;     "param_debugger_attachToExtensions" = 0;     "param_debugger_attachToXPC" = 1;     "param_debugger_type" = 3;     "param_destination_isProxy" = 0;     "param_destination_platform" = "com.apple.platform.iphonesimulator";  "param_diag_MainThreadChecker_stopOnIssue" = 0;  "param_diag_MallocStackLogging_enableDuringAttach" = 0; "param_diag_MallocStackLogging_enableForXPC" = 1;     "param_diag_allowLocationSimulation" = 1;     "param_diag_gpu_frameCapture_enable" = 0;    "param_diag_gpu_shaderValidation_enable" = 0;     "param_diag_gpu_validation_enable" = 0; "param_diag_memoryGraphOnResourceException" = 0;     "param_diag_queueDebugging_enable" = 1;     "param_diag_runtimeProfile_generate" = 0;     "param_diag_sanitizer_asan_enable" = 0;     "param_diag_sanitizer_tsan_enable" = 0;     "param_diag_sanitizer_tsan_stopOnIssue" = 0;   "param_diag_sanitizer_ubsan_stopOnIssue" = 0;     "param_diag_showNonLocalizedStrings" = 0;     "param_diag_viewDebugging_enabled" = 1;  "param_diag_viewDebugging_insertDylibOnLaunch" = 1;     "param_install_style" = 0;     "param_launcher_UID" = 2;  "param_launcher_allowDeviceSensorReplayData" = 0;     "param_launcher_kind" = 0;     "param_launcher_style" = 0;     "param_launcher_substyle" = 0;  "param_runnable_appExtensionHostRunMode" = 0;     "param_runnable_productType" = "com.apple.product-type.application";     "param_runnable_swiftVersion" = "5.6";     "param_runnable_type" = 2;     "param_testing_launchedForTesting" = 0;     "param_testing_suppressSimulatorApp" = 0;     "param_testing_usingCLI" = 0;     "sdk_canonicalName" = "iphonesimulator15.4";     "sdk_osVersion" = "15.4";     "sdk_variant" = iphonesimulator; } -- System Information macOS Version 12.3.1 (Build 21E258) Xcode 13.3.1 (20103) (Build 13E500a) Timestamp: 2022-04-16T18:02:18-05:00
0
0
903
Apr ’22
Account temporarily unavailable due to bad or missing auth token
I got this message "Account temporarily unavailable due to bad or missing auth token" when I try to save to privateDatabase in CloudKit, using the CKDatabase.save(record:completionHandler). It looks like the error that was posted about here on stackoverflow has reappeared. The fix for that other problem was a bug in Apple's side. Anyone have this problem recently and have a solution?
0
0
1.2k
Apr ’22
What is the difference between CKShare.ParticipantRole.privateUser and CKShare.ParticipantRole.publicUser
What is the difference between CKShare.ParticipantRole.privateUser and CKShare.ParticipantRole.publicUser? Does this together with CKShare.ParticipantPermission determine whether the participant is able to share the share with others or not, or does ParticipantPermission determine both whether a participant can change the records that are shared as well as whom the participant can share the share with?
1
0
388
Apr ’22
Does UICloudSharingController.availablePermissions adjust itself to the CKShare.publicPermission and CKShare.currentUserParticipant.participantRole?
Does UICloudSharingController.availablePermissions adjust itself to the CKShare.publicPermission and CKShare.currentUserParticipant.participantRole of an existing CKShare object I initialize UICloudSharingController with, or do I have to manually set availablePermissions according to what those CKShare properties are set to?
0
0
322
Apr ’22
Why does UICloudSharingController ask to add participants when I choose to let anyone with the link have access?
I'm trying out UICloudSharingController. I noticed that When I select "Anyone with the link" for "WHO CAN ACCESS" in Share Options, then click to copy the link, a screen comes up saying "Add People" at the top. If anyone with a link can access this share, why does it ask me to add participants? It seems I remember that before it didn't ask me to add participants when I select "Anyone with the link".
1
0
563
May ’22
"Provisioning profile "iOS Team Provisioning Profile: ***" doesn't include the com.apple.developer.contacts.notes entitlement.
"Provisioning profile "iOS Team Provisioning Profile: ***" doesn't include the com.apple.developer.contacts.notes entitlement. I'm looking for a cause to this problem. It happened when I tried to run a project on an old iPhone 5. I didn't get this problem with any of the other devices and simulators.
1
0
1.5k
Apr ’22
How to know what number is a user calls?
I’m looking for ideas here. Is there anyway I can access the record of which calls a user has made. I would like to figure out a way to know which numbers a user uses most. I want to be able to set a default number for each contact in my app that the user uses. Is there so way I can determine what default phone number user would normally call for a contact?
1
0
772
May ’22
How do I update CloudKit whenever there is a change in Contacts in iOS?
Is there any way to run code in iOS whenever new information are added to certain contacts in contact store? If I use Notifications, I would have to have a process running at all times, since contacts are able to be changed by Apple's Contacts app. I have looked at App Extensions and there are no extensions I that can be used. There is a way to run a background process but I recall that has a limited lifespan. Am I correct about this? I need to update data in CloudKit that saves contacts information that can be shared with other users using their own Apple ID's. CloudKit subscriptions notify my app when something changes in CloudKit, but I also need to update records in CloudKit when something changes in Contacts. Anyone have any ideas how this might possibly be done?
2
0
1k
Jun ’22