Introduced in iOS 5, iCloud is a set of technologies that allow users’ documents and settings to be seamlessly synchronized across all the devices that they own.
iCloud is heavily promoted by Apple as technology that “just works”—simply by owning a Mac, iPhone, or iPad, your documents are everywhere that you need them to be. In order to understand what iCloud is, it’s worth taking a look at Apple’s advertising and marketing for the technology. In the ads, we see users working on a document, and then just putting it down, walking over to their Macs, and resuming work. No additional effort is required on the part of the user, and users are encouraged to think of their devices as simply tools that they use to access their omnipresent data.
This utopian view of data availability is made possible by several very large data centers that Apple constructed in the early 2010s, and a little extra effort on the part of you, the developer.
In this chapter, you’ll learn how to create applications that use iCloud to share settings and documents across the user’s devices.
Simply put, iCloud allows your applications to store files and key-value pairs on Apple’s servers. Apps identify which file storage container or key-value pair database they want to access, and the operating system takes care of the rest.
In the case of files, your application determines the location of a container folder, the contents of which are synced to the network. When you copy a file into ...