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

时间:2016-04-20 17:50:53

标签: ios swift2 in-app-purchase icloud cloudkit

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

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

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

提前谢谢

1 个答案:

答案 0 :(得分:1)

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

"Designing for Key-Value Data in iCloud" by Apple

以及NSUserDefaults'键值存储'允许开发人员保存简单数据类型,但已启用iCloud的用户设备可以保存已保存的数据。

第一步:启用键值存储'在应用程序的功能设置中 **enter image description here**

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

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

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

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