我正在使用 NSUbiquitousKeyValueStore 将数据从 iOS 应用程序 A 存储到 iCloud,但我无法在我的 iOS 应用程序 B 上获取任何对象。但是我可以在我的 iOS 应用程序 A 上获取该对象。 这两个应用程序具有相同的团队 ID,并且都具有相同的 Ubiquity Container Identifiers。 我已经通过 XCode 5 添加了 iCloud 功能,它会自动创建权利文件。 我还为两个 App ID 打开了 iCloud 选项。
以下是我如何从 App A 设置数据:
[[NSUbiquitousKeyValueStore defaultStore] setObject:value forKey:key];
[[NSUbiquitousKeyValueStore defaultStore] synchronize];
以下是我在应用程序 B 上获取数据的方式:
[[NSUbiquitousKeyValueStore defaultStore] synchronize];
[[NSUbiquitousKeyValueStore defaultStore] objectForKey:key];
我不知道这是否重要,但我在 Debug模式下运行这两个应用程序。我是否必须在启用 iCloud 的情况下在 iTunes 上创建这两个应用程序?
谢谢!
最佳答案
解决了!因此,要在具有相同团队 ID 的两个不同应用程序之间共享键值存储,我必须将权利文件中的 iCloud 键值存储更改为两个应用程序中的相同。 默认情况下,该值为 $(TeamIdentifierPrefix)$(CFBundleIdentifier),我将其更改为 $(TeamIdentifierPrefix)my.company.AppA。
希望对大家有帮助 =)
关于ios - iCloud 无法在两个应用程序之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21784496/