J'utilise WKWebView
pour afficher un fichier pdf
à partir d'une URL distante. Cela fonctionnait bien dans iOS 12
mais en iOS 13
il montre juste un écran vide. J'ai atteint le même domaine avec une URL d'image et cela a bien fonctionné mais il a quelques problèmes avec les fichiers pdf
uniquement.
let myURL = URL(string:"somefileurl.pdf") // If I hit this url in safari, It will download a pdf file.
let myRequest = URLRequest(url: myURL!)
webViewPdf.load(myRequest)
Implémentez simplement la méthode decidePolicyFor disponible dans WKNavigationDelegate comme indiqué ci-dessous,
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
decisionHandler(.allow)
}
et définissez le délégué dans votre vue Web comme indiqué ci-dessous,
yourWebView.navigationDelegate = self
UIWebView a également le même problème. Fixé comme suit (objectif-c):
[self.webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"" baseURL:[NSURL URLWithString:@"FilePathOrUrlString"];