0

我没有使用模拟器。代码中的一切似乎都运行良好。我可以读写 NSUbiquitousKeyValueStore,它会在应用程序运行之间保留数据。

[[NSUbiquitousKeyValueStore defaultStore] synchronize]

返回真。但是,更新永远不会到达其他设备,如果我从一台设备上删除应用程序并重新安装它,NSUbiquitousKeyValueStore 就会被清除干净。本质上,它的行为类似于 NSUserDefaults 的别名。我已设置权利,并且在配置门户中启用了 iCloud。我的目标设置已选中启用 iCloud 和键值存储,并将“使用带有标识符的存储”设置为我的应用程序包标识符。我在“Ubiquity Containers”中有一个条目,这也是我的捆绑包名称。有什么我想念的吗?配置?初始化步骤?谢谢。

4

2 回答 2

2

您是否正在注册NSUbiquitousKeyValueStoreDidChangeExternallyNotification通知并处理NSUbiquitousKeyValueStoreInitialSyncChange此案?首次启动应用程序时,您写入的内容NSUbiquitousKeyValueStore可能会被撤消,因为与 iCloud 的“初始同步”尚未发生,在这种情况下,您将收到带有NSUbiquitousKeyValueStoreChangeReasonKey保存该值的参数的通知NSUbiquitousKeyValueStoreInitialSyncChange

于 2013-04-11T22:08:41.553 回答
1

我的同事指出我必须在 iCloud 设置中启用文档和数据。这解决了问题。

于 2013-04-11T22:18:48.643 回答