在开发过程中,我已经切换到NSPersistentCloudKitContainer
并开始了尝试测试尽可能多的场景以确保没有人丢失任何数据的可怕过程。
在一些测试中,我看到了这样的错误:
<CKError 0x28033a310: "Partial Failure" (2/1011); "Failed to modify some records"; uuid = B6015357-50E0-40B3-949F-1557F59A23DB; container ID = "iCloud.com.xxxx.yyyyyy"; partial errors: {
F023EFDF-B9DE-4C17-872B-01C34C0DF129:(com.apple.coredata.cloudkit.zone:__defaultOwner__) = <CKError 0x280266fa0: "Invalid Arguments" (12/2006); server message = "Cannot create or modify field 'CD_someField' in record 'CD_someRecord' in production schema"; uuid = B6015357-50E0-40B3-949F-1557F59A23DB>
... 399 "Batch Request Failed" CKError's omited ...
}>
我能够解决这个问题,但它只会影响某些场景,如果这发生在真实用户身上,他们(和我)永远不会知道这个问题,他们的数据也不会同步到 CloudKit。
如果商店加载失败,你会得到一个错误,但如果它加载但不同步,你就不会。
所以我的问题是:有没有办法在代码中接收这些错误?
我一直在寻找通知和委托方法,但找不到任何东西。