При вызове CKModifyRecordsOperation я получаю сообщение об ошибке: CKError: "Недопустимые аргументы" (12). Что это значит и что я могу с этим сделать?
Я использую:
CKModifyRecordsOperation *cKModifyRecordsOperation = [[CKModifyRecordsOperation alloc] initWithRecordsToSave:recordsToAddOrSave recordIDsToDelete:recordsIDsToDelete];
cKModifyRecordsOperation.savePolicy = CKRecordSaveChangedKeys;
cKModifyRecordsOperation.modifyRecordsCompletionBlock = ^( NSArray *savedRecords, NSArray *deletedRecordIDs, NSError *error ) {
if ( error )
{
NSLog(error.description);
}
Хотя это работает для некоторых типов записей, для определенного типа записей я теперь получаю следующее сообщение об ошибке:
CKError 0x170844bc0: "Неверные аргументы" (12)
Это странно, потому что раньше это работало даже для этого типа записи.
Я проверил форумы и провел поиск в Google, но не смог найти полезную информацию об этой ошибке в контексте CKModifyRecordsOperation
,
2 ответа
На случай, если кто-то окажется в том же месте, что и я, когда я использовал такой код, я получил тот же код ошибки при передаче CKRecordID вместо CKRecord в массиве записей для изменения.
Может быть, это тоже ваша проблема?
Я не уверен на 100% в этом, но это то, что я нашел в документации для ChangedKeys
:
A policy that saves only those fields of the record that actually changed, overwriting any values currently on the server. Unmodified fields are left untouched.
Для меня это звучит так, будто этот ключ предназначен только для изменения записей, а не для их удаления.