I’m building an app where I would like Coredatabase to be available through multiple devices.
- Is there a limit on number of devices can be linked to the same iCloud account
- Is it possible to be logged in from different iCloud accounts but use the one iCloud database for all, by just logginin within the app or some other way? Maybe there is another service which allows to do it?
First question:
There is no limit on devices for the same iCloud account as far as I know. However, there are limits on storage capacity of unpaid iCloud accounts.
Second question:
You could have your app detect a change in iCloud account and then copy or update the device as necessary. The problem is, however, that updates from iCloud account A will not automatically propagate to iCloud account B.
Another solution is to use the Dropbox API. Dropbox provides free accounts up to 1 GB. The problem is that you cannot take advantage of incremental updates of core data through iCloud. That means, that every change results in the entire database being overwritten, hardly a feasible setup.
The final and probably only feasible idea is to set up your own server, mirror the database content in another database and create APIs to synchronize incrementally through JSON or some other scheme. This last solution is what we are doing for a central DB with app. 8.000 iOS clients.