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