2016-11-13 9 views
1

Я пытаюсь установить родителя на CKRecord. В принципе, напоминанием является дочерний список. Список уже существует на сервере.CKRecord set parent error 4097

let record = CKRecord(recordType: "Reminder", recordID: recordID) 
let listID = CKRecordID(recordName: listName, zoneID: listZoneID) 
record["title"] = "Test TODO" 
record.setParent(listID) 
let modifyRecordsOp = CKModifyRecordsOperation(recordsToSave:[record], recordsToDelete:nil) 
modifyRecordsOp.modifyRecordsCompletionBlock = { (_, _, error) in 
    guard error == nil else { 
     print(error) 
     return 
    } 
} 

Каждый раз, когда я делаю это, я получаю следующее сообщение об ошибке: [LogFacilityCK] Есть ошибка подключения к работе 28174DD7CAF85542: Error Domain = NSCocoaErrorDomain Code = 4097 "Подключение к услуге имени com.apple.cloudd" USERINFO = {NSDebugDescription = подключение к службе с именем com.apple.cloudd}

Если я удалю строку setParent, запись будет успешно создана на сервере. Я делаю что-то неправильно?

ответ

1

Возможно, это потому, что запись listID еще не сохранена в облаке, поэтому облако не может установить listID в качестве родителя record. Попробуйте сохранить вновь созданные записи:

let modifyRecordsOp = CKModifyRecordsOperation(recordsToSave:[record, listID], recordsToDelete:nil)