2016-11-13 2 views
1

CKRecord에 상위를 설정하려고합니다. 기본적으로 알림은 목록의 하위 항목입니다. 목록은 이미 서버에 있습니다.CKRecord 세트 상위 오류 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에있어 연결 오류 : 오류 도메인은 = NSCocoaErrorDomain 코드 = 4097 "연결이라는 이름의 서비스에 com.apple.cloudd"사용자 정보를 = {NSDebugDescription = com.apple.cloudd라는 서비스에 대한 연결}

setParent 줄을 제거하면 레코드가 서버에서 성공적으로 만들어집니다. 내가 뭔가 잘못하고 있는거야?

답변

1

아마도 listID 레코드가 클라우드에 저장되지 않았기 때문에 클라우드에서 listIDrecord의 부모로 설정할 수 없기 때문일 수 있습니다. 새로 생성 된 두 레코드를 모두 저장하십시오.

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