NSUbiquitousKeyValueStore错误:无有效的com.apple.developer.ubiquity-kvstore-identifier权利

时间:2011-11-11 16:44:22

标签: iphone icloud nsubiquitouskeyvaluestore

我在将iCloud与我的应用集成时遇到问题。

当我设置测试iCloud可用性时,我会收到函数的成功

NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"AppID"];

但在此之后,当我尝试执行时:

NSUbiquitousKeyValueStore *iCloudStore = [NSUbiquitousKeyValueStore defaultStore];

我收到错误

NSUbiquitousKeyValueStore error: no valid com.apple.developer.ubiquity-kvstore-identifier entitlement.

有关如何解决此问题的任何想法?我的App.Entitlements文件使用默认的宏前缀,没有从自动生成的文件中更改。 iCloud肯定在iTunes Connect中的AppID上启用。

感谢。

5 个答案:

答案 0 :(得分:16)

即使我的所有代码,设置,权利等都是正确的,我也遇到了同样的问题。我通过从iPhone上物理删除应用程序来修复它,然后在Xcode中构建并在我的iPhone上运行它并且它工作正常。只是想补充一点,以防其他解决方案对其他人不起作用。

答案 1 :(得分:5)

大警告:如果您的设备已越狱,请确保已卸载AppSync。因此,我有两个疯狂的日子。即使使用正确的权利和配置文件,iCloud(和Game Center)也无法在安装了AppSync的设备上运行!

答案 2 :(得分:3)

我做了以下操作让我的工作(Xcode 4.2.1):

  1. 在Xcode中,转到目标>摘要>在底部,单击“启用授权”。
  2. 在iOS配置门户中,转到应用ID并启用iCloud支持。 (你可能不必这样做,但它对我有用。)
  3. 编辑您的配置文件以强制更新;然后下载此配置文件并打开它,以便它自动在Xcode中启动。
  4. 清理并构建应用到您的设备。

答案 3 :(得分:2)

我在尝试调试Mac(而不是iOS)应用程序时遇到了这个问题。结果问题是我没有签署调试版本,并且没有将“跳过安装”设置为“是”的项目部署阶段。

显然,对于未签名的应用程序,iCloud无法正常运行。

答案 4 :(得分:1)

使用以下值在您的权利中添加com.apple.developer.ubiquity-kvstore-identifier

$(TeamIdentifierPrefix)$(CFBundleIdentifier)