I found the following here: Designing and Creating a CloudKit Database.
Important
During development, you can change your schema as much as you want, but once it’s deployed to production, you can’t delete any part of it. You can only make additive changes, such as adding a new field to a record type, or adding new record types.
This still doesn't tell me if I can add or remove indices to record types after production. I would need less to remove indices than to add indices.
Post
Replies
Boosts
Views
Activity
Looks like they're called "special characters" here: linkText.
I thought there would be more of them.
I should add that this error occurs only when I'm debugging with Xcode using a device rather than a simulator. When I use a device, I use CKSubscriptions on the sharedCloudDatabase, but not when I use a simulator.
The error seems to occur right after I create a share using UICloudSharingController. The error message appear in the debug window right after print commands in the func cloudSharingControllerDidSaveShare(_ csc: UICloudSharingController) of UICloudSharingControllerDelegate.
The best thing so far that I have found is found in this article Choosing Background Strategies for Your App under the heading Update Your App's Content.
If anyone knows of a better way, I'd really like to know.
I think there is a way now to schedule background processes.
Hi. I need to use continuous background process to receive notifications whenever there is a change in contact store. Have you found any way to continuously watch when something changes even when the app is not running -- I mean the app that needs to know when there are any changes?
I want to know if there is a way to run a process even when my app isn't running. Is that possible?
What about using iCloud. Is there a way for my app to be able to know when iCloud is currently syncing? If my app sees that iCloud is currently syncing, it can run code to check the Contacts that CloudKit have records of. Is there a way to tell if there are Contacts that are syncing and which contacts are syncing?
The best I've come up with is "assure", "insure", and especially "constraint". "Force" is a good one too. I settled with . . .
checkAndResave(_:completionHandler:)
I was looking for a really accurate word to name a function that checks to see if a certain datum has been saved in a data store, then if it hasn't then I save it. So the word I'm looking for needs to reflect that I make sure it's there. Maybe "verify", but that still doesn't convey that I save the data if it's not there, just to check to be sure that it is there with the expectation that it is there. I take the presumption that I don't know whether it's there or not.
That's fine. I'll settle with "checkAndResave".
Thank you everyone.
Maybe a word will pop up in the middle of the night while I'm half asleep.
I found the following at Developer->Documentation->CloudKit->Shared Records. This must be Apple's prescribed method.
To stop sharing, the share’s owner must delete the share or, for shared hierarchies, the root record. If a participant wants to leave the share, delete the share record from their shared database. Use UICloudSharingController or NSSharingService to allow a participant to stop participating. Or remove them from the share using the removeParticipant(_:) method, and then save the updated share to iCloud.
I have since tested the link when I select "Anyone with the link" for "WHO CAN ACCESS". Only Apple IDs that are added by the owner can get access to the share. When I test the URL on another using a different Apple ID than the device that shared the share, I get a message saying that either the owner stopped sharing or I doesn't have permission.
There was a button that enables and disables code preview. It's on the very top right-hand corner below the "+" button and the button to hide and show Inspectors in the right-hand side of the Xcode screen. When the code preview is enabled, then when I click the project in Project navigator the Editor window is blank. I think that's called the Editor window.
Did you ever figure this out? I want to know how to delete a share programmatically in iOS using Xcode with Swift. I need to use it as a programmer, not for the iOS app to allow the user to delete a share. I don't believe there is any other way to delete a share than with code. It doesn't look like CloudKit Dashboard allows me to delete all records in a database. The dashboard does not allow querying cloudkit.share.
Is it possible to subclass UICloudSharingController?
Have you figured out how to make your app track the device even when your app is not running, even after the iOS device is shut off and then turned off again.