繁体   English   中英

如何从 WKWebView 打开 WhatsApp?

[英]How to open WhatsApp from WKWebView?

我有一个 iOS 应用程序,其中包含一个 WebView,该 WebView 有一个可以打开 WhatsApp 的按钮。 按钮不起作用。 我应该怎么做才能让 WebView 打开 WhatsApp? 如果我在浏览器中打开网站,它会打开 WhatsApp。

这是我在研究后找到的解决方案:

func webView(_ webView: WKWebView,
                     decidePolicyFor navigationAction: WKNavigationAction,
                     decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
        {
            if let requestURL = navigationAction.request.url?.absoluteString,
            !requestURL.contains("https") && !requestURL.contains("http") {
                if requestURL == "whatsapp://send",
                   let urlString = requestURL.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) {
                    if let whatsappURL = NSURL(string: urlString) {
                        if UIApplication.shared.canOpenURL(whatsappURL as URL) {
                            UIApplication.shared.open(whatsappURL as URL, options: [:], completionHandler: { (Bool) in
                                
                            })
                        } else {
                            // Handle a problem
                        }
                    }
                }
                decisionHandler(.cancel)
            } else {
                decisionHandler(.allow)
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM