Prerequisites

  • The iOS Simulator does not support iCloud at the moment. The tutorial will only work on a device with iCloud enabled.
  • I made this tutorial in Xcode 4.5. Please download and install this version from iTunes or your Apple Developer account. This will make sure you don’t encounter any errors using a previous version of Xcode may cause.
  • This tutorial runs using the iOS 6 SDK. The final app will be compatible with iOS 5 but while going through the tutorial, please make sure you have downloaded the iOS 6 SDK for Xcode.
  • Please make sure the iOS 6 software is also installed on your device (iPhone/iPad)
  • This is a full on multi-part course so please grab a cup of coffee and happy coding!
  • You can download the final sample project here. But watch the videos to see how it all ties together

Video 1: Setting Up iCloud Documents: Part 1

This video shows you how to create the necessary classes for iCloud integration in your app.

At the end of this video, you will know how to use the encode your objects into an archive that can be saved up in the cloud. You will also learn how to do the reverse option and retrieve these objects.

Download the video here

Video 2: Setting Up iCloud Documents: Part 2

This is the continuation of the first video. We have created the RemindersDocument.m which is a derived class of UIDocument. UIDocument is the class needed for integrating iCloud in your app.

Now we shall create the Reminder object, which is the definition of the data which we would like to save in the cloud.

Download the video here

Video 3: Setting Up UI elements to display iCloud documents: Part 1

Now we have defined the objects we want to save to the cloud. It is time to start displaying this on the screen.

In this video, you will see how to create a ViewController that will initialise the iCloud document.

Download the video here

Video 4: Setting Up UI elements to display iCloud documents: Part 2

This is a continuation of the previous video. To setup your Xcode project for iCloud, you need include some key information in the plist and entitlements file.

The video below goes over this specific bit of information.

Also we can no finally run the app on a device and see the results of the work we have been doing up until now.

In this video, you will be able to create an iCloud document and then add a new reminder to the document.

You can download a sample .plist file here. You can copy the settings from it. Make sure to change the details to the specifics of your app.

Download the video here

Video 5: Retrieving documents from iCloud programmatically

In the last video, you were able to add a reminder to iCloud using the iPhone interface.

Now we want to retrieve this document from the cloud when our app is started. This video will show you how.

Download the video here

Video 6: Displaying iCloud documents on the screen

Finally, the hard work has will soon pay out. We will now display a reminder on the screen. This was added in the last video and synced up to iCloud.

The best part of this video is that you can see the iCloud show up on the iPhone and iPad (two iCloud devices) side-by-side. Cool!.

Watch the video to see how to achieve that.

Download the video here

Video 7: Modify documents and sync back to iCloud

We can now create and display iCloud documents on the iPhone. All good, but we need to be able to edit those documents and sync them back up to iCloud.

This video shows exactly how to do that. We will change the title of a reminder using a new View controller and then send those changes to the cloud.

Download the video here

Video 8: Display modifications on all iCloud devices

In this video, we will let the view that shows the list reminders know when they have ben modified and then automatically reload the data to see the changes.

Also, you will see changes done in the iPhone app reflecting in the iPad app when you refresh the screen.

Download the video here

Video 9: How to add more properties to an iCloud document and modify them

We now know how to change the title of our reminder. Why stop there? Let’s add a new property called “Due date” and change that also.

This will show you how you can keep on extending the properties of your documents and in effect save a whole list of objects in iCloud.

Download the video here