iCloud set up and provisioning

Maybe it's a late comment, but I post it here in case that somebody is struggling for the same reason.

I encountered this issue on Xcode8 recently when I was trying to archive. Generally, I enabled iCloud with Xcode in following steps:

  1. Enable iCloud inCapabilities panel in my target by setting the toggle to ON.
  2. Check iCloud under my App Identifier in Member Center turns green automatically, and a iCloud container is created automatically with my App Identifier. (Apple's system does this for us.)
  3. Regenerate my certificate with my App Identifier.
  4. Create a new provisioning profile.
  5. Download and install the new certificate and provisioning profile
  6. Select the new provisioning profile in Signing(Release) section in General panel in my target.

Then I got errors like:

Provisioning profile "iCloud Test" doesn't include the com.apple.developer.ubiquity-container-identifiers, com.apple.developer.icloud-container-identifiers, and com.apple.developer.icloud-services entitlements. Code signing is required for product type 'Application' in SDK 'iOS 10.1' Code signing is required for product type 'Application' in SDK 'iOS 10.1'

At last I found that there were two options in iCloud section under my App Identifier in Member Center. By default, the Compatible with Xcode 5 was selected, but I succeeded by selecting the other option.

enter image description here


After submitting a report to Apple, it turns out that Apple systems are useless AGAIN!

Ok, so if you are creating a NEW application or you are only just adding iCloud to your application - you will need to make sure the system doesn't pick up or create a iOS8 cloud container!

If it does you need to remove it from your app entitlements file, remove the selected containers in the Apple Developer Console and re-download certs again!

Thanks Apple again!

I got blamed for using pre-released software! I haven't touch Xcode 6 yet!!!


If you're just adding iCloud to an app for the first time or want to upgrade to use CloudKit after using an older iCloud container:

  1. Go to the Apple Development Center.
  2. Choose Certificates, IDs & Profiles.
  3. Use the dropdown on the top left to switch between iOS/tvOS/watchOS or macOS
  4. Choose App IDs under the Identifiers section.
  5. Choose your app from the list.
  6. Scroll down to iCloud and make sure it is enabled with a green dot.
  7. If it's not enabled or has a yellow dot, click the button at the bottom of the page to Edit and make sure you've checked iCloud service.
  8. You may also need to create a container under the iCloud Containers section then associate it with this app.