Tag: cncontactpicker

如何在iOS中select联系人电话号码?

我知道如何在iOS中select联系人(使用CNContactPickerViewController),但是我怎样才能为联系人select一个特定的电话号码,而不是联系人本身呢? 根据文件,这应该是可能的,但我没有发现如何。 编辑:这是我的代码 CNContactPickerViewController *contactPicker = [[CNContactPickerViewController alloc] init]; contactPicker.delegate = self; contactPicker.displayedPropertyKeys = @[CNContactGivenNameKey, CNContactImageDataAvailableKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey, CNContactThumbnailImageDataKey, CNContactIdentifierKey]; [self presentViewController:contactPicker animated:YES completion:nil]; 所以,我设置了显示的属性,但结果是一样的,即使我只select了CNContactPhoneNumbersKey,我也没有显示所有联系人的号码,所以我可以select一个特定的号码。 我错过了什么? 编辑2:根据要求的callback方法。 我不知道他们有什么意义,但是。 -(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 […]

iOS Swift:从CNContactProperty获取用户select的电话号码作为string

如标题所示,在我使用swift的iOS应用程序中,我有一个CNContactProperty对象,我想从中提取电话号码作为string。 CNContact属性通过委托协议function从标准的CNContactPickerViewController返回,在用户select了一个联系人之后。 当联系人有多个电话号码时,我希望能够从CNContactProperty中提取用户在联系人视图中点击的电话号码。 我正在尝试做这样的事情: let myString = theCNContactProperty.value as! String 但是,这个崩溃(lldb)错误。 我怀疑也许“价值”财产不是我所需要的? 我能够像这样检索任意数字: let myString = contactProperty.contact.phoneNumbers[0].value.stringValue 哪个返回联系人的第一个号码。 然而,这不符合我的目的,因为我想能够提取用户select的具体数字,当一个联系人有多个号码。 我一直在这个工作几个小时,无法弄清楚,我会很感激任何帮助,你可以给我! 编辑:这不是所提供的链接的副本。 链接的问题是关于检索联系人的所有号码,而不是一个特别select的。 在这方面有很大的不同。