ios – 快速恢复消耗品(硬币)2

我正在建立一些使用消耗硬币的测验.我使用NSUserDefault在设备上保存硬币及其工作.我也在使用CloudKit来获取qiuz中的数据.

如果用户切换设备,如何恢复硬币没有问题?有一个部分解决方案与钥匙串,但它只适用于同一设备.

有没有办法通过我的数据在cloudkit中通过仪表板存储硬币?

预先感谢

最佳答案 尝试在iCloud中使用键值存储.它的工作方式与NSUserDefaults几乎相同,因此您可以完全切换到“键值存储”而不是NSUserDefaults.

“Designing for Key-Value Data in iCloud” by Apple

除了NSUserDefaults的“键值存储”,开发人员还可以保存简单的数据类型,但是在已启用iCloud的用户设备上可以保存已保存的数据.

第一步:在应用程序的功能设置中启用“键值存储”
《ios – 快速恢复消耗品(硬币)2》

第二步:在应用程序上执行didFinishLaunchingWithOptions:在NSNotificationCenter上实现对NSUbiquitousKeyValueStoreDidChangeExternallyNotification通知的订阅.

第三步:以与NSUserDefaults相同的方式向NSUbiquitousKeyValueStore.defaultStore()写入和读取数据.

考虑一种解决键值冲突的方法(如果用户正在使用两个或更多设备,或者其中一个设备没有互联网连接等)

此外,键值存储中保存的数据量,键数,键名称的长度都有限制…请查看Apple指南的上述链接.

点赞