#import <Contacts/Contacts.h>
#import <ContactsUI/ContactsUI.h>
@interface ViewController ()<CNContactPickerDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self layoutView];
}
- (void)layoutView{
UIButton *btn = [UIButton buttonWithType:(UIButtonTypeCustom)];
btn.frame = CGRectMake(40, 50, 50, 50);
[btn setTitle:@"add" forState:(UIControlStateNormal)];
[btn setTitleColor:[UIColor redColor] forState:(UIControlStateNormal)];
[btn addTarget:self action:@selector(call) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:btn];
}
- (void)call{
CNContactPickerViewController *contactVc = [[CNContactPickerViewController alloc] init];
contactVc.delegate = self;
[self presentViewController:contactVc animated:YES completion:nil];
}
- (void)contactPickerDidCancel:(CNContactPickerViewController *)picker
{
NSLog(@"取消选择联系人");
}
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact
{
NSString *lastname = contact.familyName;
NSString *firstname = contact.givenName;
NSLog(@"%@ %@", lastname, firstname);
NSArray *phoneNums = contact.phoneNumbers;
CNLabeledValue *labeledValue = phoneNums[0];
CNPhoneNumber *phoneNumer = labeledValue.value;
NSString *phoneNumber = phoneNumer.stringValue;
NSLog(@"%@", phoneNumber);
}
- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContacts:(NSArray<CNContact*> *)contacts{
for (CNContact * contact in contacts) {
NSString *lastname = contact.familyName;
NSString *firstname = contact.givenName;
NSLog(@"%@ %@", lastname, firstname);
NSArray *phoneNums = contact.phoneNumbers;
CNLabeledValue *labeledValue = phoneNums[0];
CNPhoneNumber *phoneNumer = labeledValue.value;
NSString *phoneNumber = phoneNumer.stringValue;
NSLog(@"%@", phoneNumber);
}
}