0
, 나는 마지막 try 문에이 오류 "레코드가 존재하지 않는 업데이트"오류 도메인 = CNErrorDomain 코드 = (200) 나는 다음과 같은 코드를 실행하면
오류 도메인 = CNErrorDomain 코드 = 200 "업데이트 기록 존재하지 않음 " 사용자 정보는 = {NSLocalizedFailureReason는 가 존재하지 않거나 이미 삭제 된 기록을 갱신하기 때문에 저장 요청이 실패 =., CNInvalidRecords이 = ( 는" "), NSLocalizedDescription = 업데이트 기록이 존재하지 않는다}
오류를 이해할 수 없습니다. CNGroup에 대한 레코드는 분명히 존재합니다. 왜냐하면 방금 오류없이 생성했기 때문입니다. 나는 또한 시뮬레이터를 체크인했다. 대화 상대와 그룹 모두 존재합니다.
let store = CNContactStore()
let defaultContainerIdentifier = store.defaultContainerIdentifier()
let cnMutableGroup = CNMutableGroup()
cnMutableGroup.name = "Temple5"
let groupIdentifier = cnMutableGroup.identifier
let cnMutableContact = CNMutableContact()
cnMutableContact.familyName = "Ralph5"
cnMutableContact.givenName = "Rolfson5"
let contactIdentifier = cnMutableContact.identifier
let saveRequest = CNSaveRequest()
saveRequest.add(cnMutableGroup, toContainerWithIdentifier: defaultContainerIdentifier)
saveRequest.add(cnMutableContact, toContainerWithIdentifier: defaultContainerIdentifier)
do {
try store.execute(saveRequest)
} catch let error as NSError {
print(error)
}
let predicateGroups = CNGroup.predicateForGroups(withIdentifiers: [groupIdentifier])
var cnGroups: [CNGroup] = []
do {
cnGroups = try store.groups(matching: predicateGroups)
} catch let error as NSError {
print(error)
}
let cnGroup = cnGroups.first!
let predicateContacts = CNContact.predicateForContacts(withIdentifiers: [contactIdentifier])
let keys = [CNContactGivenNameKey, CNContactPhoneNumbersKey]
var cnContacts: [CNContact] = []
do {
cnContacts = try store.unifiedContacts(matching: predicateContacts, keysToFetch: keys as [CNKeyDescriptor])
} catch let error as NSError {
print(error)
}
let cnContact = cnContacts.first!
saveRequest.addMember(cnContact, to: cnGroup)
do {
try store.execute(saveRequest)
} catch let error as NSError {
print(error)
}
안녕하세요, @ShinehahGnolaum, 나도 같은 문제가 있습니다. 알아 냈습니까? – Jerome
@Jerome 아니요. 죄송합니다. – ShinehahGnolaum