我目前正在开发一个项目,该项目使用CoreData快速保存数据,为了同步目的,我想使用iCloud,我首先想到的是CoreData iCloud实现,但由于它现在被标记为废弃,我开始使用CloudKit,一切都很好,直到我尝试在建立互联网连接后备份信息(如果信息应该更新时失败),应用程序不会存储文件,只存储数据,所有CKRecords都正常工作。
我的问题是:
CloudKit是否连接到自动iCloud同步,即当设备被插入并具有internet连接时发生的同步。当前的结构是: CoreData用于本地保存和提取数据,CloudKit用于云同步。
到目前为止,我理解: CloudKit并不直接与CoreData交互,所有涉及数据同步的操作都必须通过Api调用来完成。
谢谢你的帮助,如果我忘了什么,请告诉我。
发布于 2019-03-27 11:56:02
1)当你的应用程序被终止时,它没有运行,所以你不能同步任何东西。你需要重新启动你的应用程序(可能在后台?),但是在没有用户干预的情况下,你所能做的事情是有一些严重的限制的。这里有几个线程可能会发出更多的光:Launch app in background automatically?和Will iOS launch my app into the background if it was force-quit by the user?
2)开箱即用的CloudKit不会“自动”做任何事情,而是做你让它做的事情。您需要将其设置为在代码中的适当时间(当某些东西发生变化时)触发,并响应从其他设备发出的更改通知。
https://stackoverflow.com/questions/55334479
复制相似问题