iCloud NSUserDefaults 未跨设备同步(通过 MKiCloudSync)
Posted
技术标签:
【中文标题】iCloud NSUserDefaults 未跨设备同步(通过 MKiCloudSync)【英文标题】:iCloud NSUserDefaults not syncing across devices (via MKiCloudSync) 【发布时间】:2012-10-23 17:40:51 【问题描述】:我已经构建了一个启用了 iCloud 的应用程序,并且我正在两台设备上运行它。
我期望的是,当我添加一些数据时,它会被写入 NSUserDefaults 并使用 MKiCloudSync 类,随后会上传到 iCloud。这似乎有效。
当我在另一台设备上打开应用程序时,我试图从 iCloud 中拉下 NSUserDefaults(通过 MKiCloudSync)。
我在相同的代码上运行两个设备(我已经尝试使用分发版本)。这些设备都启用了 iCloud 并连接到同一个帐户。
但是,在第一台设备上创建了一些数据,然后尝试从第二台设备上拉下数据后,我没有取回任何数据。当我启动它们时,两个设备都试图拉下数据,但它们都不共享它们的数据。
我错过了什么?谢谢大家。
【问题讨论】:
我是否需要等待我的设备之间发生同步?它不是即时的(即它仅在设备进入后台时发生吗?) 您是否为此使用了 iCloud 键值存储? @Maddy 是的!我正在使用 MKiCloudSync 推送和拉取 NSUserDefault 更改。 这将是您原始问题中包含的重要细节。编辑 - 你刚刚做了:) 完成。我已经编辑了我的问题。 【参考方案1】:NSUserDefaults 不会自动同步到云端。
你可以使用:
https://github.com/MugunthKumar/MKiCloudSync
虽然,使用键/值存储非常不稳定。许多开发人员(以及我自己)都报告了不一致的同步。
【讨论】:
我正在使用 MKiCloudSync 来执行同步。 updateFromiCloud 不会被调用,即使发生了似乎已被推送的更改。 对不起,我没有在你的帖子中看到。如果您遇到同步问题,那么可能是因为键/值存储刚刚损坏。我试图在我的游戏中添加云存档,但由于这些问题,几周前我放弃了。我向苹果开了一张票,他们没有帮助。 Apple 开发人员表单上有一个关于它被破坏的长线程。 不只是键/值存储,甚至文档存储也损坏了。 iCloud 同步不提供任何通过网络界面进行故障排除的方法。以上是关于iCloud NSUserDefaults 未跨设备同步(通过 MKiCloudSync)的主要内容,如果未能解决你的问题,请参考以下文章
iOS:NSUserDefaults 是不是与 iCloud 同步?
NSUserDefaults 是不是由 iCloud 自动保存?
如何将我的 NSUserDefaults .plist 同步到 iCloud?
NSUbiquitousKeyValueStore 与 NSUserDefaults