【发布时间】:2012-04-19 18:17:40
【问题描述】:
我已经在我的(现有)应用程序上工作了一段时间,以添加对 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]”。 em>
我真的不知道这些标识符应该是什么样子。在此页面上: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 同步它们的核心数据存储数据库?
【问题讨论】:
-
在支持 iCloud 的同时,我们应该在现有的工作应用 ID 中启用 iCloud,还是应该在启用 iCloud 的情况下创建新的应用 ID?
标签: ios core-data ios5 icloud entitlements