【发布时间】:2021-10-28 07:56:57
【问题描述】:
我有一个使用 Core Data 的应用程序,效果很好。我决定尝试使用 iCloud 在多个设备之间同步数据。我遵循了将 NSPersistentContainer 更改为 NSPersistenCloudKitContainer 并添加 iCloud 功能、启用 CloudKit 和后台模式(远程通知)的基本步骤。通过这些很少的更改,数据在设备之间进行了应有的同步。看起来很简单。
但是,如果用户的 iCloud 存储空间已满,应用程序会继续运行并在本地持续存在,但同步会停止(显然)而不通知用户。
我知道这是一个 quotaExceeded 错误,但我将如何访问该错误然后处理它(以及一般处理 CKErrors)?
我觉得这个 NSPersistentCloudKitContainer 就像一堵墙,我无法通过它来处理 CKErrors。我是初学者,所以也许我遗漏了一些明显的东西,但在网上找不到任何答案。
坚持quotaExceeded错误情况:
- 第 1 步 - 发生 CKError.Code.quotaExceeded。
- 第 2 步 - ???
- 第 3 步 - 通知用户他们的 iCloud 存储空间已满。
第 2 步是什么样的?
【问题讨论】:
标签: swift core-data cloudkit nspersistentcloudkitcontainer ckerror