11

我在将 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 上启用。

谢谢。

4

5 回答 5

16

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

于 2011-12-19T15:17:59.550 回答
5

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

于 2012-09-08T19:16:25.107 回答
3

我做了以下工作以使其对我有用(Xcode 4.2.1):

  1. 在 Xcode 中,转到您的 target > Summary > 在底部,单击 Enable Entitlements。
  2. 在 iOS 配置门户中,转到应用 ID 并启用 iCloud 支持。(您可能不必这样做,但它对我有用。)
  3. 编辑您的配置文件以强制其更新;然后下载这个配置文件并打开它,让它在 Xcode 中自动启动。
  4. 清理并构建您的应用程序到您的设备。
于 2012-03-03T23:47:48.167 回答
2

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

显然,iCloud 无法与未签名的应用程序一起正常运行。

于 2012-09-05T20:27:52.743 回答
1

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

$(TeamIdentifierPrefix)$(CFBundleIdentifier)
于 2015-11-30T13:18:51.993 回答