6

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];

したがって、displayedProperties を設定しますが、結果は同じです。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");
}
4

2 に答える 2