我试图以编程方式为新联系人提供CNContactViewController,但出现错误“拒绝访问PassKit共享缓存文件。请验证沙箱异常和/或归档Radar。” CNContactViewController也没有出现。
我检查我是否具有所有有效的权限,例如info.plist中的“隐私-联系人”,以及是否在代码中获得了权限。我有。
let cnContactViewController=CNContactViewController(forNewContact: contact)
vc.present(cnContactViewController, animated: true)
我希望该应用程序向其显示ContactsUI的CNContactViewController并在其字段中填充一个联系人,但这没有发生,并且出现了两条错误消息: 访问PassKit共享缓存文件被拒绝。请验证沙箱异常和/或提交Radar。 和 CNUI错误联系人视图延迟显示超时
答案 0 :(得分:1)
我遇到了同样的错误,并且通过使用以下代码进行了修复
let vc = CNContactViewController(forNewContact: contact)
vc.delegate = self
let navigationController: UINavigationController = UINavigationController(rootViewController: vc)
present(navigationController, animated: false) {
print("Present")
}
答案 1 :(得分:0)
事实证明,第一个错误“与PassKit共享缓存文件的访问被拒绝。请验证沙箱异常和/或归档Radar”,这与CNContactViewController不在显示无关。为了解决它不显示的问题,我使用了@Andrew Vyazovoy的帖子CNUI ERROR Contact view delayed appearance timed out,并将CNContactViewController用作导航控制器的根视图控制器,并提出了导航控制器,并且CNContactViewController出现在屏幕上。隐私问题无关。