Search code examples
iphoneiosicloud

iCloud vs own server (or move from iCloud to own server in a future version)


I'm creating an app (currently just for iPhone) that will need a way to backup data automatically, plus give users the ability to access their data from different devices. The data may get to a consistent size after a while, since it will also include photos and such.

I'm currently thinking between using iCloud and using my own server (with login/registration) for storing the user's data. iCloud would be obviously simpler to use, since I won't need to implement any web-app at the moment.

Here are my questions:

  1. Since the content size will get large after a while, will this cause any issues with iCloud?
  2. If I choose to go with iCloud for the moment, will it be possible afterwards to remove support for iCloud and use my server instead (without loosing user's data - move data from iPhone app and iCloud to the server during the process)? The app is also using CoreData, so I'm also wondering if this will cause any issues instead.
  3. This one may sound silly, but I'll ask it anyway: Is it possible to make iCloud work with Android (or other platforms like Blackberry, Windows etc.) devices as well? For instance, if I decide to add support for Android, I'd like users to have access to their data previously stored in the iCloud.

Many thanks


Solution

  • To cover your questions:

    Since the content size will get large after a while, will this cause any issues with iCloud?

    iCloud is limited to however much space the user has available. They can get 5GB for free or buy more. That's the total available space for all of their iCloud apps plus their backups (if any). The only issue is that if you store a lot of data you might run out, and this will inconvenience the user since it will affect their other apps.

    If I choose to go with iCloud for the moment, will it be possible afterwards to remove support for iCloud and use my server instead (without loosing user's data - move data from iPhone app and iCloud to the server during the process)?

    There's no reason you couldn't do a transition, where the app would copy data from an existing iCloud store to your own site.

    The app is also using CoreData, so I'm also wondering if this will cause any issues instead.

    Yes. This will almost certainly be a problem in the current version of iOS. Core Data's built in iCloud support has significant issues. To get a flavor for how things can go wrong check out my Openradar entry for rdar://13119691 and for rdar://13102447.

    This one may sound silly, but I'll ask it anyway: Is it possible to make iCloud work with Android (or other platforms like Blackberry, Windows etc.) devices as well? For instance, if I decide to add support for Android, I'd like users to have access to their data previously stored in the iCloud.

    No. Apple has absolutely no interest in making this work. iCloud is an Apple-only service.

    Some third-party options you might want to consider for syncing data: