20
votes

On my application, i use UIDocumentPickerViewController to allow the user to pick files (import), but starting from iOS 13 that functionality stop working, basically the document picker is open, but the user can't choose a file (taping the file does nothing).

I made a simple sample just to isolate the code:

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)")
    }

}

Sample project: https://github.com/Abreu0101/document-picker-iOS13-issue

Reference: enter image description here

3
Which version of Xcode and iOS 13 are you using? Also make sure you test this on a real iOS device. - rmaddy
@rmaddy to make the sample project iOS 11 beta 6 (but for my app, im using Xcode 10.2). It's happening both on Simulator and real Device (iPhone 7 iOS 13.1) - José Roberto Abreu
I'm experiencing a very similar issue, although the failure doesn't happen every time. Usually documentPicker(_, didPickDocumentAt) gets called the first time after a fresh launch of my app, but fails on all subsequent attempts. This happens both in the Recents and Browse tab, with iCloud Drive and Dropbox. I'm running on a physical iPhone X with iOS 13.1 beta 3, building with Xcode 11.0 GM. - Jamie A
@JamieA Looks like is a bug on iOS 13 beta. After upgrading to official iOS 13 start working. Btw notice that this wasn't specific of my App, was also happening in other apps (i.e Slack). - José Roberto Abreu
any fixes for this? i am facing this issue - Pulkit Sharma

3 Answers

2
votes

When I got this issue, I realised that it's working when choosing files from "Browse" tab because I implemented the method "didPickDocumentAt", but it was not working when I tapped on files from "Recent" tab.

To make it work on "Recent" tab, I'd to implement the method "didPickDocumentsAt", which makes the same thing, but it handles an array of URLs.

0
votes

I enountered this issue on iOS 13.2.2. Updated to iOS 13.2.3 fixed this issue without any code changes.