首页 > 解决方案 > CloudKit 自动后台备份

问题描述

我目前正在开发一个CoreData用于快速保存数据的项目,出于同步目的,我想使用 iCloud,我想到的第一件事是CoreData iCloud实现,但由于它现在被标记为已弃用,我开始使用CloudKit,并且一切正常,直到我在互联网连接建立后尝试备份信息(以防在应该更新信息时发生故障),该应用程序不存储文件,只是数据,一切CKRecords正常。

我的问题是:

  1. 申请终止后可以同步信息吗?
  2. 是否CloudKit连接到自动 iCloud 同步,即设备插入并具有互联网连接时发生的同步。

目前的结构是: CoreData用于本地保存和提取数据,以及CloudKit用于云同步。

到目前为止,我理解: CloudKit不直接与数据同步进行交互CoreData,所有涉及数据同步的操作都必须通过 Api 调用来完成。

感谢您的帮助,如果我忘记了什么,请告诉我。

标签: swiftcore-dataicloudcloudkit

解决方案


1)当您的应用程序终止时,它不会运行,因此您无法同步任何内容。您将需要重新启动您的应用程序(可能进入后台?),但是您可以做些什么来在没有用户干预的情况下发生这种情况存在一些严重的限制。这里有几个线程可能会更清楚:在后台自动启动应用程序?如果用户强制退出,iOS 会在后台启动我的应用程序吗

2) 开箱即用 CloudKit 不会“自动”执行任何操作,它会按照您的指示执行操作。您需要将其设置为在您的代码中的适当时间(当某些事情发生变化时)触发,并响应来自其他设备的更改的推送通知。


推荐阅读