学习方式: 修改部署版本为iOS9.0, 让XCode报警告, 然后找到替换方法, 逐个进行替换
-
ContactsUI.framework的使用
// 1.创建选择联系人的控制器 CNContactPickerViewController *cpvc = [[CNContactPickerViewController alloc] init]; // 2.设置代理 cpvc.delegate = self; // 3.弹出控制器 [self presentViewController:cpvc animated:YES completion:nil]; // 4.实现对应的代理方法 // 如果实现了选择联系人的代理方法,则无法进入详情界面 // - (void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact{ // 获取姓名 // NSLog(@"%@---%@", contact.namePrefix, contact.familyName); // 获取电话号码 // NSArray<CNLabeledValue<CNPhoneNumber*>*> *phoneNumbers = contact.phoneNumbers; // [phoneNumbers enumerateObjectsUsingBlock:^(CNLabeledValue<CNPhoneNumber *> * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { // NSLog(@"%@---%@", obj.label, obj.value.stringValue); // }]; } // 选择联系人属性时调用,会进入详情界面 - (void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperty:(CNContactProperty *)contactProperty{ // 1.获取选中联系人的姓名 NSString *firstName = contact.givenName; NSString *lastName = contact.familyName; NSLog(@"%@ %@", firstName, lastName); // 2.获取电话号码 for (CNLabeledValue *phone in contact.phoneNumbers) { CNPhoneNumber *phoneNumber = phone.value; NSLog(@"%@ %@", phone.label, phoneNumber.stringValue); } } // 取消选中时调用 - (void)contactPickerDidCancel:(CNContactPickerViewController *)picker
{
NSLog(@"取消");
}
```