Представление ContactUI CNContactViewController приводит к ошибке конфиденциальности и ошибке CNUI
Я попытался программно представить CNContactViewController для нового контакта, но я получил ошибку "Доступ к файлу PassKit Shared Cache запрещен. Проверьте исключения из песочницы и / или подайте радар". CNContactViewController также не представил.
Я проверяю, что у меня есть все действительные разрешения, такие как Конфиденциальность - Контакты в info.plist, и что я получил разрешения в своем коде. Я имел.
let cnContactViewController=CNContactViewController(forNewContact: contact)
vc.present(cnContactViewController, animated: true)
Я ожидал, что приложение представит CNContactViewController ContactsUI с контактом, заполненным в его полях, но этого не произошло, и я получил два сообщения об ошибках: Доступ к файлу PassKit Shared Cache запрещен. Пожалуйста, проверьте исключения из песочницы и / или подайте радар. и ОШИБКА CNUI Контактная информация задержала появление тайм-аута
2 ответа
Оказывается, первая ошибка, "Доступ к файлу общего кэша PassKit запрещен. Пожалуйста, проверьте исключения из песочницы и / или подайте радар", не имел отношения к CNContactViewController, который не представлен. Чтобы решить проблему с отсутствием представления, я использовал сообщение @Undrew Vyazovoy CNUI ERROR, задержанное по истечении времени ожидания представления контакта, и поместил CNContactViewController в качестве корневого контроллера представления контроллера навигации и представил контроллер навигации, а CNContactViewController показал на экране. Проблема конфиденциальности не связана.
Я получаю ту же ошибку, и я исправил с помощью приведенного ниже кода
let vc = CNContactViewController(forNewContact: contact)
vc.delegate = self
let navigationController: UINavigationController = UINavigationController(rootViewController: vc)
present(navigationController, animated: false) {
print("Present")
}