카카오 공유하기 - iOS 하이브리드 앱(웹뷰) 카카오톡이 없는 경우 마켓으로 이동하지 않는 현상에 대해 문의사항이 있습니다.
1. 개발환경
-
iOS
- 하이브리드 앱(웹뷰)
- 아이폰 - iOS version - 16.0.2.
- xcode - iOS Deployment target - 16.0
- swift UI
-
JavaScript
- JS SDK V2
- 웹 Vue2 기반 SPA - JS SDK V2 연동 AWS S3에 배포
(http://kakao-share.s3-website.ap-northeast-2.amazonaws.com/)
-
코드 저장소
2. 상황
iOS 하이브리드 앱(웹뷰)에서 카카오톡이 설치되어 있지 않은 경우 다운로드 버튼을 눌러도 App Store로 이동하지 않습니다.
-
참고 사항
-
아이폰 - 카카오톡 설치 O
- iOS 하이브리드 앱 - 카카오 공유하기 기능 동작 O
- iOS 모바일 브라우저(safari, chrome) - 카카오 공유하기 기능 동작 O
-
아이폰 - 카카오톡 설치 X
- iOS 하이브리드 앱 - App Store 이동 X
- iOS 모바일 브라우저(safari, chrome) - App Store 이동 O
-
-
다음 설정을 추가했습니다.
-
URL 스킴
https://talk-apps.kakao.com/scheme/kakaolink 에서 다운로드 버튼을 클릭했을때 다음과 같은 URL 스킴이 내려오는 것 같은데요 어떻게 핸들링 해야하는지 잘 모르겠습니다.
itms-appss://apps.apple.com/kr/app/kakaotog-kakaotalk/id362057947
3. 로그
다운로드 버튼을 눌렀을때 xcode에서는 다음과 같은 로그가 발생합니다.
2022-09-25 13:39:00.625336+0900 KakaoShare[1325:102023] [ProcessSwapping] 0x1050025e0 - [pageProxyID=6, webPageID=22, PID=1331, navigationID=3] ProvisionalPageProxy::didFailProvisionalLoadForFrame: frameID=3
2022-09-25 13:39:00.625532+0900 KakaoShare[1325:102023] [Process] 0x109030018 - [pageProxyID=6, webPageID=16, PID=1330] WebPageProxy::didFailProvisionalLoadForFrame: frameID=3, isMainFrame=1, domain=WebKitErrorDomain, code=102, isMainFrame=1
2022-09-25 13:39:00.630855+0900 KakaoShare[1325:102046] [assertion] Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit" UserInfo={NSLocalizedFailureReason=target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit}>
2022-09-25 13:39:00.630961+0900 KakaoShare[1325:102046] [ProcessSuspension] 0x10401c8a0 - ProcessAssertion::acquireSync Failed to acquire RBS assertion 'ConnectionTerminationWatchdog' for process with PID=1331, error: Error Domain=RBSServiceErrorDomain Code=1 "target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit" UserInfo={NSLocalizedFailureReason=target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit}
2022-09-25 13:39:00.632425+0900 KakaoShare[1325:102172] [assertion] Error acquiring assertion: <Error Domain=RBSAssertionErrorDomain Code=2 "Specified target process does not exist" UserInfo={NSLocalizedFailureReason=Specified target process does not exist}>
2022-09-25 13:39:00.632532+0900 KakaoShare[1325:102172] [ProcessSuspension] 0x10401c900 - ProcessAssertion::acquireSync Failed to acquire RBS assertion 'WebProcess Background Assertion' for process with PID=1331, error: Error Domain=RBSAssertionErrorDomain Code=2 "Specified target process does not exist" UserInfo={NSLocalizedFailureReason=Specified target process does not exist}
4. 질문 정리
swfit, iOS 개발환경에 미숙해서, 제가 설정을 잘못한것 같은데요 혹시, 코드 보시고
iOS 하이브리드 앱(웹뷰)에서 카카오톡이 설치되어 있지 않은 경우 다운로드를 눌렀을때 카카오톡 App Store로 이동하려면 어떻게 해야하는지 알려주실 수 있으신가요?