Does anyone know the difference between these 2 entitlement keys?
Apple's documentation in different places says both are for the same thing: enabling iCloud document storage.
Does anyone know the difference between these 2 entitlement keys?
Apple's documentation in different places says both are for the same thing: enabling iCloud document storage.
The values for com.apple.developer.icloud-container-identifiers specify the iCloud container IDs your app uses in production.
Not to be confused with the values for com.apple.developer.icloud-container-development-container-identifiers, which specifies the iCloud container IDs your app uses in development/staging.
Some iCloud containers are for key-value storage, other iCloud containers are for document storage, others are for Core Data storage, etc. So com.apple.developer.ubiquity-kvstore-identifier is used to specify the container IDs you'll use just for key-value storage.
This example should illustrate:
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>4ZX4Z3MVHG.*</string>
<key>com.apple.developer.icloud-container-identifiers</key>
<array>
<string>iCloud.com.appleseedinc.MyProject</string>
<string>iCloud.com.appleseedinc.container1</string>
</array>
See the full example in the relevant Apple Tech Note.