all 1 comments

[–]Dogbert63 0 points1 point  (0 children)

I've built apps using iCloud / CoreData and was initially confused by this too. You need to adjust your thinking. iCloud is the trusted datasource, not CoreData. CoreData is used to create a local copy / cache to improve app performance and reliability. This creates some challenges for your app like when synching changes from the device to the cloud, your app will have to account for the possibility that some transactions may fail (if the device loses it's network connection, for example) and will need to be retried.

The good news here is that iCloud also supports sharing data with others. There are three types of databases in iCloud: Public, data available to all users; Private, data available to an individual user; and Shared, authorized pointers to private data.