CloudKit自动后台备份

CloudKit automatic background backup

我目前正在做一个项目,使用 CoreData 在 swift 中保存数据,为了同步我想使用 iCloud,我首先想到的是CoreData iCloud 实现,但由于它现在被标记为已弃用,我开始使用 CloudKit,并且一切正常,直到我尝试在建立互联网连接后备份信息(以防失败时信息应该更新),应用程序不存储文件,只存储数据,所有 CKRecords 都工作正常。

我的问题是:

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

当前结构为: CoreData本地存取数据,CloudKit云端同步

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

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

1) 当您的应用程序终止时,它不是 运行,因此您无法同步任何内容。您将需要重新启动您的应用程序(可能进入后台?),但是在没有用户干预的情况下您可以做些什么来实现这一点有一些严重的限制。这里有几个线程可能会提供更多信息: and Will iOS launch my app into the background if it was force-quit by the user?

2) 开箱即用 CloudKit 什么都不做 'automatically',它会按照您的指示进行操作。您需要将其设置为在您的代码中的适当时间(当某些内容发生变化时)触发,并响应来自其他设备的更改推送通知。