3

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

0 回答 0