您的位置:首页 > 移动开发 > IOS开发

iOS --调用系统通讯录

2016-05-02 21:42 375 查看
// 调用系统通讯录需要遵循两个代理ABPeoplePickerNavigationControllerDelegate,UINavigationControllerDelegate
相关类为ABPeoplePickerNavigationController


// 系统通讯录自带导航栏,所有要model出来
// 初始化
ABPeoplePickerNavigationController *peoplePicker = [[ABPeoplePickerNavigationController alloc] init];
peoplePicker.peoplePickerDelegate = self;
[self presentViewController:peoplePicker animated:YES completion:nil];


#pragma mark - ABPeoplePickerNavigationControllerDelegate
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {

ABMultiValueRef valuesRef = ABRecordCopyValue(person, kABPersonPhoneProperty);

CFIndex index = ABMultiValueGetIndexForIdentifier(valuesRef,identifier);

//电话号码

CFStringRef telValue = ABMultiValueCopyValueAtIndex(valuesRef,index);
//全名

CFStringRef anFullName = ABRecordCopyCompositeName(person);

[self dismissViewControllerAnimated:YES completion:^{

//        (__bridge NSString *)telValue;
//        [NSString stringWithFormat:@"%@",anFullName];

NSLog(@"%@---%@",(__bridge NSString *)telValue,[NSString stringWithFormat:@"%@",anFullName]);

}];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: