<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
s до CloudKit
ошибки. Есть идеи?CloudKit: сохранение записи с CKModifyRecordsOperation
Должен ли я получать первые записи, например, в API удобства?
Я использую метод CKModifyRecordsOperation
для обновления большего количества записей.
для 1 записи это нормально, но для обновления 100-х записей, это серьезно, мне нужно сначала загрузить, найти, какой из них изменять и загружать? brbrbr –
Вам не обязательно их читать. см. мой обновленный ответ. Так что просто сохраните их все и повторите попытку обновления, когда вы получите сообщение об ошибке, используя идентификатор записи внутри ошибки. –
Вы можете использовать '- [CKRecord encodeSystemFieldsWithCoder:]' для кодирования только системных полей (например, тега изменения) для записи. Вы можете позже разблокировать запись только с помощью системных полей, применить только те изменения, которые вы хотите сохранить на сервере, и сохранить запись. Если вы уже держите локальную базу данных записей, которые должны сохранить вас в оба конца на сервер. – farktronix