iosicloud

Can an iOS app collect and merge data from multiple Apple IDs using iCloud?


I am writing an iOS app whose primary benefit will require collecting user app experience data over many (10 to 10,000) different users, each with their own Apple ID account (Think something like Waze where one user reports something for other user's benefit).

Can this be accomplished solely with Apple iCloud tech, or will I need to set up a third-party DBMS?

My DB schema and reporting requirements are relatively simple. If I must go with a third party … any recommendations as to which would have the simplest setup and integration with an iOS app would be greatly appreciated.


Solution

  • CloudKit supports three databases:

    1. Public - All users of the app have access to one common database.
    2. Private - Each user of the app has access to its own private database.
    3. Shared - A user can share limited access to data in their private database. The granted user sees a copy of the shared data in their shared database.

    For the needs you describe you want to use the public database. The documentation for CKContainer and CKDatabase provide much more detail.