我正在尝试以编程方式将电话号码添加到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) ;