You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:16:55