Я пытаюсь добавить 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)>
Это экран, который я получаю: