In my app I decided to use CloudKit as my sync-backend. My app is not about projects, but for simplicity let's say so...
So... In my app users will have multiple projects. Each of those contains multiple entities associated with that project. For example tasks, but also reminders and so on.
All this data will be stored in the users private database. Nothing will be in the public database.
Now a user can have multiple projects.
My first question: Should each project be in it's own CKRecordZone? I didn't see a benefit of doing so?!? Can somebody explain to me what the benefit of having multiple record zones is? So currently all the projects are in ONE zone.
Next, I'd like the user to be able to share ALL his data with somebody else. The problem currently is that as the project is currently the root record in my database, I'd need to create a share for each of those projects, right?!? In my app it doesn't really make sense to invite users to each project separately, so I'd like to somehow archive that. Would it make sense, to create a new root-record that has the projects as childs and then the user would invite somebody to this new root-record?
Final question... is there something like a Sack-Team or so to ask questions about CloudKit? Would seem to be easier than starting a new question here on stackoverflow as my questions are quite specific to my app...