Two apps, say, AppX and AppXLite, use the same iCloud key-value storage with the same Store Identifier and in entitlements file I see $(TeamIdentifierPrefix)com.company.AppX
Everything works in adhoc and debug builds. But when I try to upload AppXLite to appstore, I get an error:
Invalid Code Signing Entitlements - The signature for your app bundle contains entitlement values that are not supported. For the com.apple.developer.ubiquity-container-identifiers entitlement, the first value in the array must consist of the prefix provided by Apple in the provisioning profile followed by a bundle identifier suffix. The bundle identifier must match the bundle identifier for one of your apps or another app that you are permitted to use as the iCloud container identifier. Specifically, value "YYXXXXXXYY.com.company.AppX" for key "com.apple.developer.ubiquity-container-identifiers" in AppXLite is not supported.
Agree with this letter, but then everything is ok: prefix, provided by Apple, bundle identifier. If not, this won't work in adhoc build. But why do they say that things aren't right?
Yes, I know that there are tons of answers here, I read them. People say that one should disable iCloud support in app in provisioning portal to fix such issue. If I do this my apps will no longer see iCloud, but this is one of key features!
I have an idea that I should upload AppX first, before AppXLite, as both apps use AppX's bundle id as Store Identifier. But I've added both apps on provisioning portal, so appstore should know "the bundle identifier for one of my apps" as Apple stated in the letter.
Do anyone have experience of uploading iCloud-enabled apps to Appstore?