swift - CloudKit 自动后台备份
问题描述
我目前正在开发一个CoreData
用于快速保存数据的项目,出于同步目的,我想使用 iCloud,我想到的第一件事是CoreData iCloud
实现,但由于它现在被标记为已弃用,我开始使用CloudKit
,并且一切正常,直到我在互联网连接建立后尝试备份信息(以防在应该更新信息时发生故障),该应用程序不存储文件,只是数据,一切CKRecords
正常。
我的问题是:
- 申请终止后可以同步信息吗?
- 是否
CloudKit
连接到自动 iCloud 同步,即设备插入并具有互联网连接时发生的同步。
目前的结构是:
CoreData
用于本地保存和提取数据,以及CloudKit
用于云同步。
到目前为止,我理解: CloudKit
不直接与数据同步进行交互CoreData
,所有涉及数据同步的操作都必须通过 Api 调用来完成。
感谢您的帮助,如果我忘记了什么,请告诉我。
解决方案
1)当您的应用程序终止时,它不会运行,因此您无法同步任何内容。您将需要重新启动您的应用程序(可能进入后台?),但是您可以做些什么来在没有用户干预的情况下发生这种情况存在一些严重的限制。这里有几个线程可能会更清楚:在后台自动启动应用程序?如果用户强制退出,iOS 会在后台启动我的应用程序吗?
2) 开箱即用 CloudKit 不会“自动”执行任何操作,它会按照您的指示执行操作。您需要将其设置为在您的代码中的适当时间(当某些事情发生变化时)触发,并响应来自其他设备的更改的推送通知。
推荐阅读
- assembly - x86 程序集:尝试反转打印数组时出现分段错误(核心转储)
- php - 如何获取完整的 URL 以在 laravel 中显示
- sas - 合并两个数据集
- c - memcpy 导致分段错误
- excel - 在值列表中搜索所有值并将所有找到的值返回到相邻单元格中
- file - github.com 存储库 url 是指向文件夹还是文件?
- service - Xinetd 错误服务/协议组合不在 /etc/services
- ios - 调用 UIApplication 子类方法启动 scheduleTimer
- google-apps-script - 如果 startColumn 是整数,则 copyValuesToRange 不返回任何内容
- jquery - 如何使用 Jquery 在单击时交替更改图像 url