Ios 获取姓名和号码联系人列表通讯簿
我正试图在通讯簿中记录联系人的姓名和电话号码。 我成功地记录了名称,但没有成功地解决数字问题 这是我的密码:Ios 获取姓名和号码联系人列表通讯簿,ios,objective-c,addressbook,abaddressbook,Ios,Objective C,Addressbook,Abaddressbook,我正试图在通讯簿中记录联系人的姓名和电话号码。 我成功地记录了名称,但没有成功地解决数字问题 这是我的密码: ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, NULL); if (addressBook != NULL) { ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, NULL);
if (addressBook != NULL) {
ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
if (granted) {
CFArrayRef allNames = ABAddressBookCopyArrayOfAllPeople(addressBook);
if (allNames != NULL) {
NSMutableArray *names = [NSMutableArray array];
for (int i = 0; i < CFArrayGetCount(allNames); i++) {
ABRecordRef group = CFArrayGetValueAtIndex(allNames, i);
CFStringRef name = ABRecordCopyCompositeName(group);
[names addObject:(__bridge NSString *)name];
CFRelease(name);
}
NSLog(@"names = %@", names);
CFRelease(allNames);
}
}
CFRelease(addressBook);
});
}
ABAddressBookRef addressBook=ABAddressBookCreateWithOptions(NULL,NULL);
如果(地址簿!=NULL){
ABAddressBookRequestAccessWithCompletion(addressBook,^(已授予bool,CFErrorRef错误){
如果(授予){
CFArrayRef allNames=abAddressBookCopyArrayFallPeople(addressBook);
如果(所有名称!=NULL){
NSMutableArray*名称=[NSMutableArray];
对于(int i=0;i
也许我必须创建一个字典?我不知道怎么解决它 您需要使用
ABRecordCopyValue(group,kabbersonphoneproperty)
返回ABMultiValueRef
。有关更多信息,请参阅。电话号码是一个多值参考:
ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
if (phones != NULL) {
for (NSInteger index = 0; index < ABMultiValueGetCount(phones); index++) {
NSString *phone = CFBridgingRelease(ABMultiValueCopyValueAtIndex(phones, index));
NSString *label = CFBridgingRelease(ABMultiValueCopyLabelAtIndex(phones, index)); // either kABHomeLabel or kABPersonPhoneMainLabel or ...
// do something with `phone` and `label`
}
CFRelease(phones);
}
ABMultiValueRef phones=ABRecordCopyValue(person,kabpersonphone属性);
如果(电话!=NULL){
对于(NSInteger index=0;index