반응형
webView에서 결제를 할 수 있도록 이니페이모바일을 구현해주어야 한다.
INIpay Mobile WEB 연동매뉴얼이 제공되어있긴 하지만 뭔말이신지... ㅠ
1. 쿠키설정 - 항상 허용
이니페이를 IOS WebView에서 호출하고 안심클릭 계열 서비스를 사용하는 경우, 쿠키를 허용해주어야 한다고 하는데 예시 코드가 Object-C로 되어있더라. 찾아보았더니 Swift에서는 다음과 같이 사용할 수 있을 듯?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
...
HTTPCookieStorage.shared.cookieAcceptPolicy = HTTPCookie.AcceptPolicy.always
...
return true
}
참고 : StackOverflow - Set Cookie for WebView manually
2. App scheme list 등록
info.plist - LSApplicationQueriesSchemes에 openUrl 함수로 호출할 scheme list를 등록해준다.
상단의 매뉴얼 링크의 앱 환경의 설치방법(IOS)를 참고하여 카드회사들 앱 스키마 정보를 다 추가해주면 된다.
+
(2021-10-21)
이렇게만 해주면 될 줄 알았는데...?
결제 버튼을 눌러도 스키마 연결이 안된다...
열심히 구글링 하여 웹뷰에서 custom URL scheme 요청이 발생하는 경우, 네이티브 코드에서 직접 앱을 실행하도록 하는 방법을 찾아 적용해주었다. 감사합니다 😭🙏🏻😭🙏🏻
결제 앱 연결을 해줄 웹뷰의 WKNavigationDelegate에서 다음과 같이 설정을 해주니 연결이 잘 되더라!
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)
}
}
WKWebView에서 외부 앱을 호출할 때는 위와 같이 적용을 해주면 될듯!
728x90
반응형
'초보 iOS 개발자의 일상 > 개발 업무' 카테고리의 다른 글
[Swift iOS] ipa 파일 다운로드 링크 생성 및 설치 (Ad Hoc & Enterprise) (0) | 2021.09.02 |
---|---|
[iOS] 푸시 알림 터치시 바로 안열리고 열기가 표시될 때 (0) | 2021.08.31 |
[iOS] 초간단 ipa 파일로 아이폰에 앱 설치하기 Mac & Window (1) | 2021.08.17 |
[Swift iOS] How to convert a string to an MD5 hash (0) | 2021.08.02 |
FFmpeg-mobile / VLC Player (0) | 2021.07.31 |