티스토리 뷰

iOS도 이제는 7은 사용을 하지 않기 때문에 UIWebView를 WKWebView로 교체를 하고 있습니다.


만약 앱에서 다른 앱을 호출할 경우에 return 값을 처리를 하여주어야 하는데요.

이 부분을 WebView와 비교하여서 정리하여 두려고 합니다.


1. UIWebView


1
2
3
4
5
6
7
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    if let url = request.url, url.scheme != "http" && url.scheme != "https" {
UIApplication.shared.openURL(url)
       return false
    } else {
return true
    }
}
cs


2. WKWebView


1
2
3
4
5
6
7
8
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    if let url = navigationAction.request.url, url.scheme != "http" && url.scheme != "https" {
        UIApplication.shared.openURL(url)
        decisionHandler(.cancel)
    } else {
        decisionHandler(.allow)
    }
}
cs


UIWebView는 false로 처리하여 주면 되고, WKWebView는 .cancel로 처리하여 주면 됩니다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함