swift - CloudKit自动后台备份

标签 swift core-data icloud cloudkit

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

我的问题是:

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

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

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

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

最佳答案

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

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

关于swift - CloudKit自动后台备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55334479/

相关文章:

ios - 依靠 NSUbiquitousKeyValueStore 来存储基本数据是否安全?

ios - iOS开发的存储

ios - swift 中的多线程

ios - 在导航栏上使用返回错误 UIBarButtonItem

ios - 基于图像的核心数据模型关系是否正确?

ios - 使用 NSURLConnection 的异步下载被证明是不可靠的

swift - CoreData 实现 swift 3

ios - 有什么方法可以使用 iCloud Drive 支持最近删除的文件?

swift - 打开和保存在非常简单的基于文档的 Swift 4 应用程序中不起作用

swift - 使用正则表达式解析 Swift 中的中缀数学表达式