<CKError 0x14d8cb70: "Partial Failure" (2/1011); "Failed to modify some records"; partial errors: {
B5DEF0B5-F064-4B27-9C89-BE75C9134297:(_defaultZone:__defaultOwner__) = <CKError 0x14d83b70: "Server Record Changed" (14/2037); "Error saving record <CKRecordID: 0x15748cd0; B5DEF0B5-F064-4B27-9C89-BE75C9134297:(_defaultZone:__defaultOwner__)> to server: Protection data didn't match">
}>
当我尝试保存CKRecord
到CloudKit
时,我遇到了这个错误。有什么想法吗?
我需要像常规API一样先获取记录吗?
我正在使用CKModifyRecordsOperation
方法来更新更多的记录。
-[CKRecord encodeSystemFieldsWithCoder:]
来仅编码记录的系统字段(例如更改标签)。稍后,你可以解档仅包含系统字段的记录,仅应用要保存到服务器的更改,并保存记录。如果你已经在本地数据库中保存了记录,那么这样做可以避免向服务器发送额外的请求。 - farktronixCKQueryOperation
的"desired keys"属性在多大程度上可以缓解“更新数百条记录”的问题? - AmitaiB