iOS9之前使用AddressBook,AddressBookUI框架
iOS9之后使用Contacts,ContactsUI框架
因?yàn)橹挥玫搅诉x擇聯(lián)系人電話號(hào)碼的功能,所以選擇了ContactsUI载慈。
導(dǎo)入頭文件
#import <ContactsUI/ContactsUI.h>
#pragma mark --- 調(diào)用系統(tǒng)通訊錄
- (void)selectContact
{
// 1.創(chuàng)建選擇聯(lián)系人的控制器
CNContactPickerViewController *contactVc = [[CNContactPickerViewController alloc] init];
// 2.設(shè)置代理
contactVc.delegate = self;
// 3.彈出控制器
[self presentViewController:contactVc animated:YES completion:nil];
}
#pragma mark --- CNContactPickerDelegate
// 1.當(dāng)選中某一個(gè)聯(lián)系人時(shí)會(huì)執(zhí)行該方法
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact{
// 1.獲取聯(lián)系人的姓名
NSString *lastname = contact.familyName;
NSString *firstname = contact.givenName;
// 2.獲取聯(lián)系人的電話號(hào)碼箫老,不展開詳情
NSArray *phoneNums = contact.phoneNumbers;
此處獲取的是該聯(lián)系人的第一個(gè)號(hào)碼
CNLabeledValue *labeledValue = phoneNums[0]
CNPhoneNumber *phoneNumer = labeledValue.value;
NSString * phoneValue = phoneNumer.stringValue;
NSLog(@"%@", phoneValue);
遍歷所有的號(hào)碼
for (CNLabeledValue *labeledValue in phoneNums) {
CNPhoneNumber *phoneNumer = labeledValue.value;
NSString *phoneValue = phoneNumer.stringValue;
NSLog(@"%@",phoneValue);
}
}
// 2.當(dāng)選中某一個(gè)聯(lián)系人的某一個(gè)屬性時(shí)會(huì)執(zhí)行該方法(展開詳情)
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperty:(CNContactProperty *)contactProperty{
}
// 3.點(diǎn)擊了取消按鈕會(huì)執(zhí)行該方法
- (void)contactPickerDidCancel:(CNContactPickerViewController *)picker{
}