最初的问题是“如何使用 iCloud 以近乎实时的方式跨设备同步一个独特的对象?”并基于评论似乎不可能单独使用 iCloud。
如果可接受的延迟小于 30 秒怎么办?使用 iCloud 或 CloudKit 可以吗?如何实现?
我有一个 user
对象,其中包含用户以相对较高的频率(每秒 1 次更新)更新的多个属性,并且需要跨设备同步。
NSPersistentCloudKitContainer
我已经尝试了一个常规的 Core Data 实体,但似乎很难只允许一个 Core Data 实体实例。除非添加一些自定义合并逻辑,否则简单的获取和更新只会导致同一对象的多个实例。
NSUbiquitousKeyValueStore
我还尝试在文档页面上探索将 UserDefault 与 NSUbiquitousKeyValueStore
同步;有a big highlight of not using it for value change very frequently。
键值存储用于存储不经常更改的数据。在您测试设备时,如果设备上的应用频繁更改键值存储,系统可能会推迟某些更改的同步,以尽量减少到服务器的往返次数。