我正在尝试以编程方式将电话号码添加到 iOS 联系人,但我的代码不起作用。
它不会返回任何错误,但不会更新联系人。
这是我正在使用的代码:
ABRecordRef person =(__bridge ABRecordRef) [[(__bridge NSArray*)ABAddressBookCopyArrayOfAllPeople(_addressBook)] objectAtIndex:indexPath.row];
CFErrorRef anError = NULL;
ABMutableMultiValueRef phoneNumberMultiValue = ABMultiValueCreateMutableCopy (ABRecordCopyValue(person, kABPersonPhoneProperty));
ABMultiValueAddValueAndLabel(phoneNumberMultiValue, (__bridge CFTypeRef)string_number, kABPersonPhoneMobileLabel, NULL);
ABRecordSetValue(person, kABPersonPhoneProperty, phoneNumberMultiValue, &anError);
if (anError != NULL) {
NSLog(@"error while creating ABMutableMultiValueRef..%@", anError);
//no error here
}
我可以阅读联系人信息,并将其显示在我的应用程序中。
我正在使用 iOS 7 和 Xcode 5,而且我是 iOS 新手。
谢谢你的帮助。*
编辑:我在这里得到一个 EXC_BAD_ACCESS:
[self checkForAddressBookAccess];
if(_addressBook== Nil){
_addressBook = ABAddressBookCreateWithOptions(NULL, &anError);
}
NSArray *temp_array =(__bridge NSArray*)ABAddressBookCopyArrayOfAllPeople(_addressBook) ;