您不能使用allowActions
屬性CNContactPickerViewController
。我正在使用這種方法和它沒有顯示任何聯繫人的詳細信息,它只顯示像這樣的列表![enter image description here](https://i.stack.imgur.com/30BYb.png)
之後,您可以選擇任何聯繫人和委託方法將爲您提供該聯繫人的聯繫詳細信息。
-(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
並且還必須添加ContactsUI.framework
和Contacts.framework
從Build Settings
。
這是工作代碼。
IMP注意:這僅適用於iOS 9.0以上版本。如果您支持8.0以上,然後添加操作系統檢查並使用AddressBook.framework & AddressBookUI.framework
您是否得到了解決方案?我對我的應用程序有相同的要求。 –
是的,我寫了我自己的ContactViewController)) – Artem