我有一个应用程序,使用核心数据,工作很好。我决定尝试使用iCloud来跨多个设备同步数据。我遵循了将NSPersistentContainer更改为NSPersistenCloudKitContainer和添加iCloud功能、启用CloudKit和后台模式(远程通知)的基本步骤。有了这些小小的改变,数据就像它应该的那样在设备之间同步。看起来很简单。
但是,如果用户iCloud存储空间已满,应用程序将继续在本地运行并保持不变,但是同步将停止(显然),而不会通知用户。
我知道这是一个quotaExceeded错误,但是我将如何访问该错误然后处理它(并处理一般的CKErrors )?
我觉得这个NSPersistentCloudKitContainer是一面墙,我无法通过它来处理CKErrors。我是个初学者,所以也许我错过了一些显而易见的东西,但在网上找不到任何答案。
坚持quotaExceeded错误情况:
第二步是什么样子的?
发布于 2021-09-06 13:43:22
步骤2-监视事件类型和更改的NSPersistentCloudKitContainer.Event。
在这个问题的ggruen的答案(他们的Misc部分)中找到了一个解决方案:NSPersistentCloudKitContainer: How to check if data is synced to CloudKit
在那里,我能够使用答案中的示例代码处理CKErrors。
https://stackoverflow.com/questions/68969296
复制相似问题