在我的应用程序上,我使用UIDocumentPickerViewController
允许用户选择文件(导入),但是从iOS 13开始,该功能停止工作,基本上文档选择器处于打开状态,但用户无法选择文件(对文件进行录音不会执行任何操作)。
我制作了一个简单的示例来隔离代码:
class ViewController: UIViewController, UIDocumentPickerDelegate {
@IBAction func openDocumentPicker(_ sender: Any) {
let types = [String(kUTTypePDF)]
let documentPickerViewController = UIDocumentPickerViewController(documentTypes: types, in: .import)
documentPickerViewController.delegate = self
present(documentPickerViewController, animated: true, completion: nil)
}
func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
print("Cancelled")
}
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
print("didPickDocuments at \(urls)")
}
}
示例项目: https://github.com/Abreu0101/document-picker-iOS13-issue
答案 0 :(得分:1)
在莫哈韦沙漠(Mojave)上存在问题,请确保将操作系统升级到Catalina。
答案 1 :(得分:0)
我在iOS 13.2.2上解决了这个问题。更新到iOS 13.2.3,解决了此问题,无需更改任何代码。
答案 2 :(得分:0)
遇到此问题时,我意识到从“浏览”选项卡中选择文件时它可以工作,因为我实现了方法“ didPickDocumentAt ”,但是当我从“文件”中点击文件时却无法工作最近”标签。
要使其在“最近”标签上运行,我将实现方法“ didPickDocument s At ”,该方法具有相同的作用,但它可以处理网址数组。