在设备上的AddressBook中,我有一条与Facebook联系人记录链接的记录.我用CNContactFetchRequest将它带到CNContact:
contactFetchRequest.mutableObjects = true
contactFetchRequest.unifyResults = false
Run Code Online (Sandbox Code Playgroud)
获得后,我修改它,然后我尝试更新它:
let store = CNContactStore()
let saveRequest = CNSaveRequest()
if contact != nil {
mutableContact = contact!.mutableCopy() as! CNMutableContact
saveRequest.updateContact( mutableContact )
} else {
mutableContact = CNMutableContact()
saveRequest.addContact( mutableContact, toContainerWithIdentifier:nil )
}
// Modify mutableContact
mutableContact.jobTitle = "Worker";
do {
// Will fails with error
try store.executeSaveRequest(saveRequest)
} catch let error as NSError {
BCRLog(error)
self.isFailed = true
} catch {
self.isFailed = true
}
Run Code Online (Sandbox Code Playgroud)
在执行executeSaveRequest时,我发现了一个错误:
NSError with domain:CNErrorDomain,code:500(witch is CNErrorCodePolicyViolation),_ userInfo:{"NSUnderlyingError":{"ABAddressBookErrorDomain" …