O'Reilly logo

iOS 7 Programming Cookbook by Vandad Nahavandipoor

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

22.3. Creating and Managing Folders for Apps in iCloud

Problem

You want to store specific files into specific folders within the user’s iCloud storage for your app.

Solution

Follow these steps:

  1. Make sure your app is set up to use iCloud (see Recipe 22.1)

  2. Select your project file in Xcode and select the Summary tab.

  3. Select the entitlements file that Xcode created for you by clicking on it, as we saw in Recipe 22.1, and look at the first value under the com.apple.developer.ubiquity-container-identifiers section. This value is simply equal to $(TeamIdentifierPrefix) plus your bundle ID, so make a note of that. For my app for this recipe, the value of this key is equal to $(TeamIdentifierPrefix)com.pixolity.ios.cookbook.icloudapp. We are going to use this full value in the next steps.

  4. In your app delegate, place the string that you copied from the iCloud Containers list, into a string. Prefix this string with your Team ID (see Recipe 22.2 on how to find your Team ID).

  5. Now instantiate an object of type NSFileManager and pass the path that you created in the previous two steps to the URLForUbiquityContainerIdentifier: method of this class. The value of this method will be the local address for iCloud storage on the device that is running your app. Let’s call this path Root iCloud Path.

  6. Append the folder name that you want to create to the Root iCloud Path (see previous step). Keep the resulting path in a string or an instance of NSURL.

  7. Invoke the fileExistsAtPath:isDirectory: method of your file ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required