Hi, interesting article, especially the stuff about handling subscriptions. Something I’ve not considered.
But, and it’s quite a big but, the problem I’ve found with cloudkit is that it’s not a database in the way that CoreData is.(I realise it’s meant to be Key Value Storage but Apple do seem to want people to use it rather than other services).
I’ve been working on an app with a public database of simple images, which can be downloaded by any user and they can be searched for using a simple set of tags. The problem comes when a new image is added. I have to get all the “tag” references from the database first, then add the relevant references to the new “image” record, then save that record, then update all the relevant tag records with the reference to the new image record.
So it’s 3 different operations, whereas if it was like a core data database I could just add the image record with the tags and it would automatically link everything together.
Maybe I’m being lazy(or stupid, that’s a distinct possibility) but the convenience of coredata has for me made working with cloudkit a bit of a nightmare. I’m considering trying either firebase or parse server instead.