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
'생계유지형 개발자 > Mobile' 카테고리의 다른 글
[ios] input/textarea 한글 입력 오류 (내장 Buffer 문제) (0) | 2022.04.20 |
---|---|
[ios] keyboard 높이만큼 webview 사이즈 올리기 (0) | 2022.03.04 |
[ios] UITextField 사용할 때 키보드 타입 변경 (0) | 2021.02.09 |
[ios] iOS 13 이상 Multiple Windows 지원 업데이트 (iPad) (0) | 2020.10.21 |
[ios] 배포환경 별 빌드설정 달리 하기 (0) | 2020.08.11 |