UIDocumentPickerViewController关闭后出现_UIViewServiceErrorDomain错误求助
关于UIDocumentPickerViewController的日志错误问题
嘿,我之前也碰到过这个烦人的日志!先给你吃个定心丸:这个错误完全不会影响你的应用功能,它只是iOS系统层面的一个“日志噪音”,很多开发者都遇到过,不用太担心。
错误本质是什么?
这个[DocumentManager] The view service did terminate with error日志,是因为UIDocumentPickerViewController是系统提供的组件,它在后台使用了UIViewService来渲染界面。当你选择文档或者取消关闭选择器时,系统的视图服务会断开连接,这时系统就会打出这条日志——它属于系统级的“正常异常”,和你的代码逻辑没有关系。
确认你的代码没问题
先检查下你的文档选择器实现是不是符合规范,比如正确设置代理和处理回调:
@IBAction func presentDocumentPicker(_ sender: UIButton) { // 初始化选择器,这里可以根据你的需求修改支持的文件类型 let documentPicker = UIDocumentPickerViewController( forOpeningContentTypes: [.pdf, .plainText, .image], asCopy: true ) documentPicker.delegate = self documentPicker.allowsMultipleSelection = false present(documentPicker, animated: true) } // 实现UIDocumentPickerDelegate代理方法 extension YourViewController: UIDocumentPickerDelegate { func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) { // 处理选中的文档逻辑 print("选中了文档:\(urls)") controller.dismiss(animated: true) } func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) { controller.dismiss(animated: true) } }
如果你的代码和上面类似,那你的实现完全没问题,这个日志和你的代码无关。
怎么处理这条日志?
- 直接忽略:这是最推荐的方式,因为它既不影响功能,也不影响用户体验,只是控制台里多了一条日志而已,普通用户根本看不到。
- 过滤日志(可选):如果你实在不想看到它,可以在Xcode控制台的过滤框里输入
-The view service did terminate with error,就能把这条日志屏蔽掉,同时不会影响其他重要日志的显示。
内容的提问来源于stack exchange,提问作者frozencure
相关产品推荐
相关产品推荐

