【问题标题】:UIDocumentPickerViewController iOS13 not WorkingUIDocumentPickerViewController iOS13 不工作
【发布时间】:2019-09-10 01:02:09
【问题描述】:

在我的应用程序中,我使用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

参考:

【问题讨论】:

  • 您使用的是哪个版本的 Xcode 和 iOS 13?还要确保在真正的 iOS 设备上进行测试。
  • @rmaddy 制作示例项目 iOS 11 beta 6(但对于我的应用,我使用 Xcode 10.2)。它发生在模拟器和真实设备上(iPhone 7 iOS 13.1)
  • @JamieA 看起来是 iOS 13 beta 上的一个错误。升级到官方 iOS 13 后开始工作。顺便说一句,这不是我的应用程序特有的,也发生在其他应用程序(即 Slack)中。
  • 我们的应用程序存在同样的问题,但并非所有设备都存在。等待解决。提前致谢。
  • 我从 Apple 下载了“粒子”应用程序演示包,它的行为方式相同。

标签: ios13 uidocumentpickerviewcontroller


【解决方案1】:

当我遇到这个问题时,我意识到它在从“浏览”选项卡中选择文件时可以正常工作,因为我实现了方法“didPickDocumentAt”,但是当我从“最近”标签。

为了让它在“最近”选项卡上工作,我要实现方法“didPickDocumentsAt”,它做同样的事情,但它处理一个URL 数组。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 作者要求 iOS 13
    • @Softlion 问题与 ios 13 无关,而与正在运行的操作系统(Mojave 或更低版本)有关,因此要解决问题,只需升级您的 mac 操作系统,问题就会得到解决
    【解决方案3】:

    我在 iOS 13.2.2 上发现了这个问题。更新到 iOS 13.2.3 修复了此问题,无需任何代码更改。

    【讨论】:

    • 我认为您的意思是说更新到 iOS 13.2.3 解决了这个问题?截至今天(2019 年 12 月 6 日),我认为尚未发布 13.3.3 版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 2020-01-30
    • 1970-01-01
    • 2021-11-26
    相关资源
    最近更新 更多