我知道如何在 iOS 中选择联系人(使用 CNContactPickerViewController),但我如何才能为联系人选择特定的电话号码,而不是整个联系人本身?根据文档,这应该是可能的,但我没有找到方法。
编辑:这是我的代码
CNContactPickerViewController *contactPicker = [[CNContactPickerViewController alloc] init];
contactPicker.delegate = self;
contactPicker.displayedPropertyKeys = @[CNContactGivenNameKey, CNContactImageDataAvailableKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey, CNContactThumbnailImageDataKey, CNContactIdentifierKey];
[self presentViewController:contactPicker animated:YES completion:nil];
所以,我确实设置了显示的属性,但结果是一样的,即使我只选择 CNContactPhoneNumbersKey,我也不会看到所有联系人的号码,因此我可以选择一个特定的号码。
我错过了什么?
编辑 2:回调方法,根据要求。我不知道它们有什么意义,但尽管如此。
-(void) contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact{
//NSLog(@"Contact : %@",contact);
NSString* contactName = [NSString stringWithFormat:@"%@%@%@", contact.givenName, @" ", contact.familyName];
[currentButton setTitle:contactName forState:UIControlStateNormal];
[currentName setText:contactName];
...
}
-(void) contactPickerDidCancel:(CNContactPickerViewController *)picker {
//NSLog(@"Cancelled");
}