Swift Document Picker, не удается добраться до файла - PullRequest
1 голос
/ 26 января 2020

Я пишу проект, который включает в себя выбор файла и получение содержимого файла. Тем не менее, я думаю, что он не достигает правильного URL-адреса файла.

Вот функция, которая вызывает сборщик документов. Он активируется кнопкой.

@IBAction func selectFile(_ sender: Any) {
        let documentPicker = UIDocumentPickerViewController(documentTypes: [kUTTypePlainText as String], in: .import)
        documentPicker.delegate = self
        documentPicker.allowsMultipleSelection = false
        present(documentPicker, animated: true, completion: nil)
}

А вот расширение UIDocumentPickerViewController

extension ViewController: UIDocumentPickerDelegate {
    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
        print(urls)
        do {
            let fileContent = try String(contentsOf: urls[0], encoding: .utf8)
            print(fileContent)
        } catch {
            return
        }
    }
}

На выходе консоли fileContent вместо этого не выводится, вот что он печатает.

Failed to associate thumbnails for picked URL
file:///Users/<user>/Library/Developer/CoreSimulator/Devices/480A2D02-810F-435E-BF44-4B2F6FC614A9/data/Containers/Data/Application/BAA825D0-C4D8-4B33-AFB3-3737ADCA0B29/Documents/test2.txt with the Inbox copy 
file:///Users/<user>/Library/Developer/CoreSimulator/Devices/480A2D02-810F-435E-BF44-4B2F6FC614A9/data/Containers/Data/Application/BAA825D0-C4D8-4B33-AFB3-3737ADCA0B29/tmp/<project>-Inbox/test2.txt: 
Error Domain=QLThumbnailErrorDomain Code=102 "(null)" 
UserInfo={NSUnderlyingError=0x600003348060 
{Error Domain=GSLibraryErrorDomain Code=3 "Generation not found" UserInfo={NSDescription=Generation not found}}}

В Интернете не так много ресурсов, может кто-нибудь помочь взглянуть на то, что я здесь сделал неправильно?

1 Ответ

0 голосов
/ 07 февраля 2020

На самом деле я сделал небольшое изменение в инициализаторе UIDocumentPickerViewController. Добавление обновленного кода ниже.

@IBAction func selectFile(_ sender: Any) {
    let documentPicker = UIDocumentPickerViewController(documentTypes: ["public.text"], in: .import)
    documentPicker.delegate = self
    documentPicker.allowsMultipleSelection = false
    present(documentPicker, animated: true, completion: nil) }

Остальной код такой же, только заменил этот ["publi c .text"] вместо [kUTTypePlainText as String].

Может быть это решает вашу проблему. Пожалуйста, дайте мне знать обратную связь. Перейдите по ссылке Адриан проверьте эту ссылку с помощью-uidocumentpickerviewcontroller-to-import-text-in-swift

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...