0

我尝试以编程方式为新联系人显示 CNContactViewController,但出现错误“拒绝访问 PassKit 共享缓存文件。请验证沙盒异常和/或归档 Radar。” CNContactViewController 也没有出现。

我检查我是否拥有所有有效权限,例如 info.plist 中的 Privacy--Contacts 以及我是否在我的代码中获得了这些权限。我有。

let cnContactViewController=CNContactViewController(forNewContact: contact)
vc.present(cnContactViewController, animated: true)

我希望该应用程序向 ContactsUI 的 CNContactViewController 显示一个填写其字段的联系人,但它没有发生,并且我收到两条错误消息:拒绝访问 PassKit 共享缓存文件。请验证沙盒异常和/或提交 Radar。和 CNUI ERROR 联系人视图延迟外观超时

4

2 回答 2

2

我遇到了同样的错误,我使用下面的代码修复了

let vc = CNContactViewController(forNewContact: contact)
vc.delegate = self
let navigationController: UINavigationController = UINavigationController(rootViewController: vc)
            present(navigationController, animated: false) {
                print("Present")
            }
于 2019-08-26T09:22:57.983 回答
0

事实证明,第一个错误“拒绝访问 PassKit 共享缓存文件。请验证沙箱异常和/或归档 Radar”,与 CNContactViewController 未显示无关。为了解决它不显示的问题,我使用@Andrew Vyazovoy 的帖子CNUI ERROR Contact view delayed appearance timed out并将 CNContactViewController 作为导航控制器的根视图控制器并呈现导航控制器,并且 CNContactViewController 显示在屏幕上。隐私问题是无关的。

于 2019-06-13T20:46:08.727 回答