Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法工作向ios 11中的现有联系人添加号码_Ios_Objective C_Contacts_Addressbook_Abaddressbook - Fatal编程技术网

无法工作向ios 11中的现有联系人添加号码

无法工作向ios 11中的现有联系人添加号码,ios,objective-c,contacts,addressbook,abaddressbook,Ios,Objective C,Contacts,Addressbook,Abaddressbook,我想在现有联系人中添加电话号码。这段代码在iOS8中工作得很好,但在iOS11中却没有。没有收到任何错误,但当ABNewPersonViewController打开时,我看不到新的电话号码 -(void)addToExstingContact{ ABPeoplePickerNavigationController *personPicker = [[ABPeoplePickerNavigationController alloc] init]; personPicker.peo

我想在现有联系人中添加电话号码。这段代码在iOS8中工作得很好,但在iOS11中却没有。没有收到任何错误,但当ABNewPersonViewController打开时,我看不到新的电话号码

-(void)addToExstingContact{

    ABPeoplePickerNavigationController *personPicker = [[ABPeoplePickerNavigationController alloc] init];
    personPicker.peoplePickerDelegate = self;

    [self presentViewController:personPicker animated:true completion:nil];
}

-(void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person{

    [peoplePicker dismissViewControllerAnimated:true completion:^{

        ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);
        ABMutableMultiValueRef phoneNumberMultiValue = ABMultiValueCreateMutableCopy(phoneNumbers);
        ABMultiValueAddValueAndLabel(phoneNumberMultiValue, (__bridge CFTypeRef)(newPhoneNumber), kABPersonPhoneMainLabel, NULL);

        ABRecordSetValue(person, kABPersonPhoneProperty, phoneNumberMultiValue, nil);
        CFRelease(phoneNumberMultiValue);

        ABNewPersonViewController *view = [[ABNewPersonViewController alloc] init];
        view.newPersonViewDelegate = self;
        view.displayedPerson = person;

        UINavigationController *newNavigationController = [[UINavigationController alloc] initWithRootViewController:view];
        [self presentViewController:newNavigationController animated:true completion:nil];
    }];
}

- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker{
    [peoplePicker dismissViewControllerAnimated:true completion:nil];
}
引用文件:

iOS 9中不推荐使用通讯簿UI框架。使用API 而是在ContactsUI框架中定义。要了解更多信息,请参阅

也许你应该把这段代码重写到contacts框架中,让它在11上工作

这方面的一个例子如下: 引用文档:

iOS 9中不推荐使用通讯簿UI框架。使用API 而是在ContactsUI框架中定义。要了解更多信息,请参阅

也许你应该把这段代码重写到contacts框架中,让它在11上工作

这方面的一个例子如下:

那么它也不应该是打开的ABNewPersonViewController。是的,AB**的所有内容都需要更改为CN**类似内容。那么它也不应该是打开的ABNewPersonViewController。是的,AB**的所有内容都需要更改为CN**类似内容。