CNContactViewController остается пустым при добавлении нового контакта с parentGroup. - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь добавить CNContact к выбранной группе контактов , используя CNContactViewController (forNewContact: contact). xCode версии 11.3 (11C29), iOS 13.x.

Код отлично работает, когда parentGroup = nil, но при назначении parentGroup мы получаем пустой CNContactViewController.

В документации говорится заполнить parentGroup для добавления в указанную c группу. (https://developer.apple.com/documentation/contactsui/cncontactviewcontroller/1616919-parentgroup).

Я также попытался заполнить parentContainer и по-прежнему получить пустой экран.

Примечание. Обнаружена эта проблема, описанная в следующем post пару лет назад, но нет решения, которое решило бы проблему в моей ситуации.

func addContact() {
    let phone = "212-555-1234"
    let contact = CNMutableContact()
    contact.phoneNumbers.append(CNLabeledValue(
        label: "Mobile", value: CNPhoneNumber(stringValue: phone)))
    let contactVC = CNContactViewController(forNewContact: contact)
    contactVC.message = "Add Contact"
    contactVC.contactStore = CNContactStore()
    contactVC.delegate = self

    // When specifying the Conatct Group I get a blank Add Contact screen.
    // If this line is commented out it works fine.
    contactVC.parentGroup = selectedContactGroup
    print("parentGroup = \(contactVC.parentGroup)")

    self.present(UINavigationController(rootViewController: contactVC), animated:true)
}
parentGroup = <CNGroup: 0x6000014a1320: identifier=2D6515F9-AE3D-460D-98A2-EFE81516739D, name=Work, iOSLegacyIdentifier=2, creationDate=(null), modificationDate=(null), externalIdentifier=(null), externalRepresentation=(null), externalModificationTag=(null), externalUUID=(null)>

Это экран, который я получаю:

enter image description here

...