0

ピッカーを使用してABPeople連絡先を表示し、選択した連絡先をアプリにインポートしています。

信頼性が なくなったためCNContact、移行する必要があります。AB

いくつかの例を見つけましたが、それらはすべて Swift にあります。具体的には、ObjectiveC のヘルプが必要CNContactPickerViewControllerです。

現在のコードは次のようになります。

-(void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person 
{
    CFTypeRef generalCFObject = ABRecordCopyValue(person, kABPersonFirstNameProperty);

    if (generalCFObject) {
        self.first = (__bridge_transfer NSString*)ABRecordCopyValue(person,kABPersonFirstNameProperty);

        NSLog (@"First Name %@",first);
    }
}
4

1 に答える 1

1

次のコードでこれを行うことができます。

-(void)selectContactData {

    CNContactPickerViewController * picker = [[CNContactPickerViewController alloc] init];

    picker.delegate = self;
    picker.displayedPropertyKeys = (NSArray *)CNContactGivenNameKey;

    [self presentViewController:picker animated:YES completion:nil];

}

-(void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact {

    [self dismissViewControllerAnimated:YES completion:nil];
    NSString *test = contact.givenName;
    NSLog(@"%@",test);

}

CNContactEmailAddressesKey表示されるプロパティ キーは、電子メールのようなものです。等

複数の連絡先を選択するには、上記のコードのcontactPicker:didSelectContacts: 代わりに使用しますcontactPicker:didSelectContact:

于 2016-02-26T07:04:48.343 に答える