It’s not that we didn’t do anything with iCloud before, but it has always been an add-on. Most apps we developed for Mac or iPhone, iPad have used iCloud in some way. But it was always a way to transfer data from one device to another, like iCloud Drive, or shared settings between iPhone and the Apple Watch…
With the arrival of Apple TV, Apple (once again) stressed the fact that they expect the apps to retrieve the bulk of their data from the cloud. In our case this is mostly iCloud.
For the less technical people, iCloud provides 4 basic ways to work with the iCloud.
1. Settings (NSUserDefaults): a way to share a limited set of data between apps with the same iCloud account.
2. iCloud Drive: a way to store documents in iCloud and open, save, close and delete them in any app. The documents are linked to an iCloud account.
3. CoreData: a database that can be used and synchronized between apps on different devices (using the same iCloud account).
4. iCloudKit: a transfer mechanism to store data in iCloud, and access the data from anywhere with any app. The data can be public or private (using an iCloud account).
The first 3 options basically are all about your data, linked to your iCloud account, and sharing them over your devices. iCloudKit is a way to publically share data with anybody, but also make a subset if the data private.
So is it too late to start with iCloud? No, of course not! It is a bit different for the developers, because you never know when or if a server in the cloud will answer. Your design has to take other things into account and you keep the complexity as low as possible 😉