allowActions
プロパティをCNContactPickerViewController
と使用することはできません。私はこのアプローチを使用しており、連絡先の詳細は表示されていません。このようなリストのみを表示します。
その後、任意の連絡先を選択して委任する方法で連絡先の連絡先をお知らせします。
-(void) openDeviceContactList {
CNContactPickerViewController *contactPicker = [CNContactPickerViewController new];
contactPicker.delegate = self;
[self presentViewController:contactPicker animated:YES completion:nil];
}
- (void) contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact {
[self getPhoneNumberFrom:contact];
}
-(void)getPhoneNumberFrom:(CNContact *)contactObject {
NSString * phone = @"";
NSString * userPHONE_NO = @"";
for(CNLabeledValue * phonelabel in contactObject.phoneNumbers) {
CNPhoneNumber * phoneNo = phonelabel.value;
phone = [phoneNo stringValue];
if (phone) {
userPHONE_NO = phone;
}
break;
}
NSLog(@"PHONE NO :: %@",userPHONE_NO);
}
連絡先リストを開くボタンタップの[self openDeviceContactList];
に電話してください。これにより、CNContactPickerViewController
が表示されます。このためにはCNContactPickerDelegate
を実装しなければなりません。また、とContacts.framework
をBuild Settings
から追加する必要があります。
これは動作コードです。
IMP注:これはiOS 9.0以降でのみ動作します。 8.0以降をサポートしている場合は、OSチェックを追加してAddressBook.frameworkを使用してください。& AddressBookUI.framework
解決方法はありますか?私は私の申請に同じ要件を持っています。 –
はい、独自のContactViewControllerを書きました)) – Artem