【问题标题】:Not working add number to existing contacts in ios 11无法在 ios 11 中向现有联系人添加号码
【发布时间】:2018-03-12 08:42:38
【问题描述】:

我想将电话号码添加到现有联系人中。此代码在 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 objective-c contacts addressbook abaddressbook


    【解决方案1】:

    引用文档:

    地址簿 UI 框架在 iOS 9 中已弃用。使用 API 而是在 ContactsUI 框架中定义。要了解更多信息,请参阅 ContactsUI.

    也许您应该将此代码重写到联系人框架以使其在 11 上工作?

    这里有一个例子: https://www.appsfoundation.com/post/create-edit-contacts-with-ios-9-contacts-ui-framework

    【讨论】:

    • 那么它也不应该打开 ABNewPersonViewController。
    • 是的,所有 AB** 都需要更改为 CN** 类似物。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多