생계유지형 개발자/Mobile

[ios] WkWebView에서 앱스토어 링크(itms-services://) 이동이 되지 않을 때

이 가을 2021. 7. 16. 16:03

 

WkWebView로 개발한 앱에서 App Store에 등록된 Pluse Secure 앱의 설치화면으로 이동하는 링크가 있다.

itms-appss://apps.apple.com/app/pulse-secure/id945832041?l=en

 

웹뷰에서 http 스키마를 가지는 일반적인 URL로 이동할 때는 별도의 코드를 추가할 필요가 없다.

반면에 http 또는 https 외의 스키마를 처리하려면 decidePolicyFor 함수 내에서 UIApplication.shared.open()으로 실행해주어야 한다.

 

func webView(_ webView: WKWebView, 
	decidePolicyFor navigationAction: WKNavigationAction, 
	decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    
    if let destinationUrl: URL = navigationAction.request.url,
    	let urlComponents: URLComponents = URLComponents(string: destinationUrl.absoluteString),
    	let scheme: String = urlComponents.scheme {
    
    	if scheme == "tel" || scheme == "sms" {
            // 전화걸기, SMS
            UIApplication.shared.open(destinationUrl)
            decisionHandler(.allow)
            return
        }
        
        else if scheme == "itms-services" || scheme == "itms-appss" {
            // 앱설치, 앱스토어 실행
            UIApplication.shared.open(destinationUrl)
            decisionHandler(.allow)
            return
        }
        
        else if scheme == "mailto" {
            let ncsMailWriteUrl: String = "mail/write?version=2&to=\(urlComponents.path)"
            UIApplication.shared.open(URL(string: ncsMailWriteUrl)!)
            decisionHandler(.cancel)
            return
        }
    }
    
    decisionHandler(.allow)
    return

}

https://www.python2.net/questions-174102.htm

 

ios - itunes 앱 링크가 WkWebview와 작동하지 않습니다

Wkwebview에로드 한 웹 페이지 중 하나에 다음 iTunes 앱 링크가 있습니다 그리고 여기에 내가 가진 오류가 있습니다. 동일한 iTunes 링크 ( https ://itunes.apple.com/gb/app/xx-yy-zz/id435919263?mt=8 )  UIWebview에서

www.python2.net