在两个应用程序之间共享 iCloud 键值

Posted

技术标签:

【中文标题】在两个应用程序之间共享 iCloud 键值【英文标题】:Sharing iCloud keyvalues between two apps 【发布时间】:2013-06-06 23:58:36 【问题描述】:

我已经听从了我能找到的所有建议,允许两个不同的应用程序通过 iCloud 共享少量数据。在测试中一切都按预期工作,但是在两个应用程序都在应用程序商店上发布后,其中一个应用程序没有读取数据。

设置如下:

 app 1 ID: com.mycompany.superapp

 app 2 ID: com.mycompany.superduperapp

我在两个应用的权利文件中都将 com.apple.developer.ubiquity-kvstore-identifier 设置为 com.mycompany.superapp。两个应用 ID 共享相同的 10 个字符前缀。

App 2 按预期运行。但是当 App 1(其 ID 实际用于权利)尝试访问 iCloud 数据时,我看到:

 Warning: com.mycompany.superapp has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement

 Warning: Can't get application info for com.mycompany.superapp

有谁知道可能出了什么问题?

【问题讨论】:

验证最终在构建应用的资源目录中的实际权利文件是否具有正确的标识符。 @rmaddy - 是的,在开发门户中的两个应用 ID 上都启用了 iCloud。 @Amro - 好电话。我在有效的应用程序包中看到了 archived-expanded-entitlements.xcent 文件,但在不起作用的应用程序包中却没有。关于为什么不包括在内的任何想法?如果一开始你没有成功提交,请再次提交;-) 【参考方案1】:

仔细检查以确保在该应用 ID 上以及在开发门户中启用了 iCloud。

【讨论】:

以上是关于在两个应用程序之间共享 iCloud 键值的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSUbiquitousKeyValueStore 在 iOS 应用和 OSX 应用之间共享 iCloud 数据

在 iOS 和 OS X 之间共享 iCloud 核心数据

iOS 和 macOS 应用程序之间的 iCloud 核心数据共享不起作用

在使用 iCloud 的人之间共享任务列表

如何在我的应用程序中使用 iCloud 钥匙串在不同设备的安装之间共享价值?

具有不同应用标识符的 2 个应用之间的 Icloud 同步