CloudKit自动后台备份

时间:2019-03-25 09:13:20

标签: swift core-data icloud cloudkit

我目前正在一个项目中,该项目使用CoreData快速保存数据,并且出于同步目的,我想使用iCloud,而我想到的第一件事就是在CoreData iCloud上实现,但是由于它现在已被标记为已弃用,因此我开始使用CloudKit,并且一切正常,直到在建立Internet连接后尝试对信息进行备份(如果失败,应更新信息) ,该应用程序不存储文件,仅存储数据,所有CKRecords都可以正常工作。

我的问题是:

  1. 您可以在应用程序终止后同步信息吗?
  2. CloudKit是否连接到自动iCloud同步,即设备插入电源并连接到互联网时发生的自动同步。

当前结构为: CoreData用于本地保存和提取数据,CloudKit用于云同步。

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

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

1 个答案:

答案 0 :(得分:0)

1)当您的应用终止时,它没有运行,因此您无法同步任何内容。您可能需要重新启动您的应用程序(可能是在后台启动?),但是在没有用户干预的情况下您可以做些什么却受到一些严重限制。以下是一些可能更清楚的线索:Launch app in background automatically?Will iOS launch my app into the background if it was force-quit by the user?

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