외부 앱에서 카카오톡 실행 관련

제가 앱 개발에 서툴러서 정확한 원인은 모르겠지만, 현재 개발한 앱에서 카카오톡을 실행하는 기능이 정상작동하질 않는데요

이게 오픈채팅 페이지에서 실행하는 거라 앱과는 전혀 무관할 거라 생각했는데

검색해보니, 외부 앱에서 카카오톡을 실행하게 하려면 스키마를 추가하는 등의 작업이 필요한 사실을 알았습니다.

개발 가이드를 살펴봤을 때, '카카오 디벨로퍼스’에서 '내 애플리케이션’을 등록하는 등의 초기부터 모든 절차를 밟아야만!

외부 앱에서 카카오톡을 실행할 수 있나요?

저는 LSApplicationQueriesSchemes 관련된 내용을 전후로 개발가이드의 내용을 참고하고
xcode에서 info.plist에 아래의 내용을 추가했습니다.
등록… 싹 다 해야되는 건가요?

<string>네이트브앱스키마(?)</string>   // 등록을 안 해서 이 부분을 생략했습니다.
<string>kakaokompassauth</string>
<string>storykompassauth</string>
<string>kakaolink</string>
<string>kakaotalk-4.5.0</string>
<string>kakaostory-2.9.0</string>
<string>storylink</string>

낫 놓고 기역을 모르는 기분이네유…

@brooklyn311 넵 iOS에서 허용된 스킴에 대해서만 동작하기에 추가해 주셔야 SDK 및 카카오디벨로퍼스에서 제공하는 기능 동작에 오류가 없습니다. 물론 기능마다 추가할것 안할것이 있지만, 모든 기능을 다 쓴다는 가정하에 다 넣어주시면 추후에 앱클라 업뎃이 필요없으니 좋을것 같아요.

답변 감사합니다!

개발 가이드 내용대로 설정을 마쳤음에도 증상은 똑같은데,

혹시 다른 문제점이 더 있을까요?

LSApplicationQueriesSchemes의 내용은 기가막히게 정확히 썼습니다.

@brooklyn311 어떤 증상인지 화면, 로그 에러나 구체적인 설명 좀 부탁드릴께요~!


제가 받은 SDK는 1.4.2 버전이고
OS는 10.3.3이며 Xcode는 8.3.3입니다.

모바일 웹용으로 개발한 페이지를 웹뷰에서 출력하는 형태의 앱인데요
공지글에 오픈채팅 링크가 걸린 버튼이 있는데 사용자가 해당 버튼을 누르면
아래와 같이 오픈채팅 페이지가 뜨면서

'카카오톡을 실행하겠느냐’는 메시지가 뜨고 바로 오픈채팅 입장 화면으로 들어갈 거라 생각했습니다.
그런데 묵묵 부답이네용…
‘링크 복사’, ‘링크 받기’ 기능은 정상동작 하는데, 1:1 채팅 참여하기는 먹통이고 공유하기는 앱스토어로 연결됩니다.
증상이 iOS9 대응 내용과 유사해서 관련 가이드 내용 적용은 했는데도 이러네요

아래는 로그입니다.

2017-09-18 16:31:51.189620+0900 앱 이름[6385:1722862] WF: _userSettingsForUser mobile: {
    filterBlacklist =     (
    );
    filterWhitelist =     (
    );
    restrictWeb = 1;
    useContentFilter = 0;
    useContentFilterOverrides = 0;
    whitelistEnabled = 0;
}
2017-09-18 16:31:51.189885+0900 앱 이름[6385:1722862] WF: _WebFilterIsActive returning: NO
2017-09-18 16:31:51.525074+0900 앱 이름[6385:1722818] Error Domain=WebKitErrorDomain Code=101 "URL을 표시할 수 없음" UserInfo={NSErrorFailingURLStringKey=kakaoopen://join?l=sURLiDp&r=EW%3Ahttp%3A%2F%2Fm.앱 이름.co.kr%2Fbbs%2Fread.php%3Findex_no%3D16%26page%3D1%26key%3D%26keyword%3D%26boardid%3Dnotice, NSLocalizedDescription=URL을 표시할 수 없음, NSErrorFailingURLKey=kakaoopen://join?l=sURLiDp&r=EW%3Ahttp%3A%2F%2Fm.앱 름.co.kr%2Fbbs%2Fread.php%3Findex_no%3D16%26page%3D1%26key%3D%26keyword%3D%26boardid%3Dnotice}
2017-09-18 16:31:51.790383+0900 앱 이름[6385:1722862] WF: _userSettingsForUser mobile: {
    filterBlacklist =     (
    );
    filterWhitelist =     (
    );
    restrictWeb = 1;
    useContentFilter = 0;
    useContentFilterOverrides = 0;
    whitelistEnabled = 0;
}
2017-09-18 16:31:51.790625+0900 앱 이름[6385:1722862] WF: _WebFilterIsActive returning: NO
2017-09-18 16:31:51.979772+0900 앱 이름[6385:1722862] WF: _userSettingsForUser mobile: {
    filterBlacklist =     (
    );
    filterWhitelist =     (
    );
    restrictWeb = 1;
    useContentFilter = 0;
    useContentFilterOverrides = 0;
    whitelistEnabled = 0;
}
2017-09-18 16:31:51.979936+0900 앱 이름[6385:1722862] WF: _WebFilterIsActive returning: NO
2017-09-18 16:31:56.571811+0900 앱 이름[6385:1722883] [] nw_socket_write_close shutdown(16, SHUT_WR): [57] Socket is not connected
2017-09-18 16:31:56.574247+0900 앱 이름[6385:1722883] [] nw_endpoint_flow_service_writes [53.1 27.0.236.25:443 ready socket-flow (satisfied)] Write request has 0 frame count, 0 byte count
2017-09-18 16:31:56.575890+0900 앱 이름[6385:1722883] [] tcp_connection_write_eof_block_invoke Write close callback received error: [89] Operation canceled

@brooklyn311 앗… 오픈채팅이군요 ㅠㅜ 사실 오픈채팅의 경우 카카오디벨로퍼스에서 제공하는 기능이 아니라 정확히 모르겠는데요,

오픈채팅이 실행되지 않는 문제

여기처럼 CS를 넣어 보셔야 할것 같아요 ㅠㅜ 아 그리고 CS를 넣으시고 혹시나 추후에 해결되신다면 공유도 부탁드려요(저도 궁금해서…). 왠지 인앱브라우저에서 특수 링크를 해석, 동작 시켜야 할것 같은데…

PS) 개인적인 호기심에… 한번 LSApplicationQueriesSchemeskakaoopen도 한번 넣어보시겠어요?

1개의 좋아요

아하!
오픈채팅 CS에 문의글을 남기려다, LSApplicationQueriesSchemes 관련 내용을 보고
열심히 만져봤는데 뜻대로 안 되네요…

해결되면 공유하겠습니다!
힘 써주셔서 고맙습니다~

1개의 좋아요

앱에서 특정 버튼 터치 시 오픈채팅 웹 링크가 브라우저에서 열리게끔 하면 간단할 것 같습니다. 그 정도로 해결하실 수 있는 문제라면, 간단하게 가보시는 것도 좋겠지요 :slight_smile: