Почему мои WKWebViews работают в симуляторе, но не могут открыть файлы на iPad?

#ios #swift #ipad #wkwebview

#iOS #swift #iPad #wkwebview

Вопрос:

Я использую WKWebView для отображения локального файла, и он отлично работает на симуляторе устройства. Однако, когда я запускаю приложение, эти файлы доступны — я проверяю это и распечатываю путь, если файл существует, однако webviews не могут его открыть. Позже я использую данные из этого файла для отправки их по электронной почте, и эта функция отлично работает.

Вот код, относящийся к открытию локального файла в WKWebView:

  func loadPDF(){
    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
    let url = NSURL(fileURLWithPath: path)
    if let pathComponent = url.appendingPathComponent("Survey-(pdf.fileTitle!).pdf") {
        let filePath = pathComponent.path
        let fileManager = FileManager.default
        if fileManager.fileExists(atPath: filePath) {
            print("FILE AVAILABLE")
            print(filePath)
            let newURL = URL(fileURLWithPath: filePath)
            let request = URLRequest(url: newURL)
            pdfView.load(request)
        } else {
            print("FILE NOT AVAILABLE")
            print(filePath)
        }
    } else {
        print("FILE PATH NOT AVAILABLE")
    }

}
  

Ответ №1:

Поскольку никто не смог ответить на этот вопрос, и я сам был в замешательстве, я обнаружил, что использование UIDocumentPicker стало более простым и понятный способом просмотра моих PDF-файлов. Я также смог использовать встроенную кнопку «Поделиться» вместо той, которую я жестко запрограммировал сам.