我已经在我的(现有)应用程序上工作了一段时间,以添加对 iCloud 同步的支持。总的来说,我有 3 个版本的应用程序:
a) 普通 iPhone 版
b) lite(免费)iPhone 版
c) iPad 版
我想使用 iCloud 使所有 3 个版本/设备之间的核心数据存储同步。我已经实现了,我在我的设备上放置的开发版本运行良好。
昨天我决定提交 iPhone 版本,但被拒绝了:
无效的代码签名权利 - 您的应用程序包的签名包含不受支持的权利值。对于 com.apple.developer.ubiquity-container-identifiers 权利,数组中的第一个值必须由 Apple 在配置文件中提供的前缀和捆绑标识符后缀组成。捆绑包标识符必须与您的一个应用程序或允许您用作 iCloud 容器标识符的另一个应用程序的捆绑包标识符匹配。
具体来说,不支持 [my app] 中键“com.apple.developer.ubiquity-container-identifiers”的值“[teamid].com.[myself].[somename]”。
我真的不知道这些标识符应该是什么样子。在此页面上:https ://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iCloud/iCloud.html#//apple_ref/doc/uid/TP40007072-CH5-SW1他们说了一些关于我的其他应用程序的容器......我是否必须为我的应用程序的 3 个版本添加 3 个容器?到目前为止,我在 project/targets/summary/entitlements 下进行了配置:
[x] iCloud 键值存储:com.[myself].[somename]
iCloud 容器:com.[myself].[somename]
对于所有 3 个版本(相同的标识符)。我必须准确配置什么,以便所有 3 个版本都可以通过 iCloud 同步其核心数据存储数据库?