Swift - WKWebView和itms-services(又名打开弹出窗口)

时间:2018-06-07 12:45:08

标签: swift wkwebview

WKWebViewitms-services protocol我遇到了一些麻烦。

我的应用程序由单个webview组成,我正确加载了一个网页。在此网页中,我会在某个时间加载itms-services链接,以安装应用。

如果我使用Safari就可以了:当我点击链接时,Safari会向我显示警告,询问安装是否正常。

但在WKWebView内,此警告不会显示给我。

我尝试实施webView(_:decidePolicyFor:decisionHandler:)方法,但没有成功。

这是我的代码。

private func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {

        let requestURL: URL? = navigationAction.request.url
        let app = UIApplication.shared
        if let anURL = requestURL {
            if (requestURL?.scheme?.lowercased() == "itms-services") && app.canOpenURL(anURL) {
                if let anURL = requestURL {
                    app.openURL(anURL)
                    decisionHandler(.cancel)
                }
            } else {
                decisionHandler(.allow)
            }
        }

    }

itms-service URL 遵循以下模式:

  

ITMS服务://动作=下载舱单&安培; URL = https://www.temporary.it/temporary.plist

哪里错了?这是正确的方法吗?

0 个答案:

没有答案