Я попробовал указанную вами ссылку, и похоже, что кнопка загрузки открывает PDF в новом окне (тег html), а WKWebView просто игнорирует его.
Чтобы сделать навигацию возможной, вам следует примите протокол WKUIDelegate в вашем контроллере представления и внедрите метод делегата:
override func viewDidLoad() {
super.viewDidLoad()
self.webView.uiDelegate = self
}
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
if navigationAction.targetFrame == nil {
// Here we load this request manually in current window
webView.load(navigationAction.request)
}
return nil
}
В этом примере PDF будет загружен непосредственно в веб-просмотр, и вы можете просматривать / загружать его, как вы делаете для обычных файлов PDF. Если вам необходимо загрузить этот PDF-файл (после его загрузки), вам нужно использовать Fetch API, как описано здесь .