카카오톡 링크하기 관련 질문 드립니다

안녕하세요, 개발자님들.

ios app 에 카카오톡 링크하기 기능을 적용하다 문제가 발생하여 글 남깁니다.

카카오톡 링크하기 소스를 작성하고

맥북이랑 iphone6를 usb로 연결하여 빌드했을때는 기능이 동작(카카오톡 앱 실행)을 합니다.

애플에 검수 받고 앱을 올린다음 앱 스토어에서 다운로드 받으면 기능이 동작(빈 페이지 뜸)을 안합니다.

애플 개발자 센터에 문의 메일을 남겼는데 돌아온 답변은 카카오톡에 물어보라는 대답이였습니다…

아래는 애플과 주고 받았던 메일 내용입니다.

보내는사람 : Apple Developer Technical Support
보낸 날짜 : 2017-07-01 07:02:13

title : Abnormal app features released (link to KakaoTalk)

Thank you for contacting Apple Developer Technical Support (DTS).

We’ve determined that your question should be addressed by the support channel for KakaoTalk - the third-party resource you are using. DTS supports developers using Apple-authored tools and frameworks only. We are unable to provide support for third-party tools, development environments, tutorials or other resources.

While a Technical Support Incident (TSI) was initially debited from your Apple Developer Program account for this request, we have assigned a replacement incident back to your account.

Thank you for understanding our support policies.

Best Regards,

Developer Technical Support
Apple Worldwide Developer Relations


THE INFORMATION CONTAINED IN THIS MESSAGE IS UNDER NON-DISCLOSURE


title : Abnormal app features released (link to KakaoTalk)

DESCRIPTION OF PROBLEM
KakaoTalk Link is properly functioning when the device(iphone6) is connected to Xcode via USB.
iTunesConnect is updated via Xcode archive.
The app is submitted and approved.
Downloaded the app from the AppStore 24 hours later since its release.
KakaoTalk Link does not work.

  1. What is Link KakaoTalk function?
    = KakaoTalk is a messenger app. There’s a function called KakaoTalk Link in the KakaoTalk SDK.
  2. Which Apple APIs are failing?
    = We did not use Apple API. It looks like there’s a problem with compilation (build) and distribution of the app.
  3. What error do you get back (screenshot please)?
    Step 1.

    Step 2.

    Step 3.

    Step 4.

    Step Success.

    Step Error.

    = KakaoTakl Link is properly functioning when the device(iphone6) is connected to Xcode via USB. : success
    = KakaoTalk Link does not work. : error

보내는사람 : Apple Developer Technical Support
보낸 날짜 : 2017-06-27 07:23:40

제목 : Re:Re: 출시된 앱 기능 이상(카카오톡 링크하기)

Thank you for contacting Apple Developer Technical Support (DTS).

Please provide us with the following information:

  1. What is Link KakaoTalk function?
  2. Which Apple APIs are failing?
  3. What error do you get back (screenshot please)?

Best Regards,

Developer Technical Support
Apple Worldwide Developer Relations


THE INFORMATION CONTAINED IN THIS MESSAGE IS UNDER NON-DISCLOSURE


title : Abnormal app features released (link to KakaoTalk)

PLATFORM AND VERSION
macbook pro 13-inch model
macOS sierra 10.12
xcode 8.3.3
iphone 6
ios 10.3.2
DESCRIPTION OF PROBLEM
When connecting usb from xcode to device (iphone6) and linking to KakaoTalk when installing, it works normally.
Updated to iTunesconnect with xcode archive.
Requested verification and released app.
Launched and downloaded apps from the App Store after 24 hours.
Link KakaoTalk function does not work.
STEPS TO REPRODUCE
‘시사경제용어사전 - for iphone’ Launch your app
→ ‘사전’ Touch Menu
→ Touch one of the terms in the list
→ ‘공유하기’ Button touch
→ ‘카카오톡’ Touch icon
NAME AND APPLE ID OF APP
시사경제용어사전-for iPhone

무엇을 확인해보아야 하는지 알지 못해 아무것도 못하고 있습니다.

이와 유사한 사례가 있으셨거나 무엇을 확인해봐야 할지 짐작가는 방법을 알려주세요.

도움이 간절히 필요합니다…

감사합니다.

@kbh1018v
에러 처리 블럭(failure:) 코드를 어떻게 작성 하셨는지요?
예상되는 시나리오는 SDK 내에서 어떤 에러가 발생하였는데 (템플릿 불러오기 실패, 패킷용량 초과… 등)
보내주신 스샷처럼 개발하신 앱 쪽에서 의도치 않은 UI 처리가 이루어진 것 같습니다.
어떤 에러가 발생했는지 파악되어야 해결 방법을 찾을텐데 해당에러를 로그를 남기거나 하지는 않는지요?

ios 개발이 처음이라 디버그 하는 방법 자체를 몰라 어떤 에러가 발생했는지 파악이 어렵습니다.
확인 해 볼 수 있는 방법을 알려주시면 확인 해보겠습니다.
예상 시나리오에서 SDK 내에서 어떤 에러가 발생하였다고 하셨는데요,
로컬(맥북 xcode <-> 아이폰6 usb 선 연결) 빌드 한 앱에서는 정상 동작합니다.
앱 스토어에서 다운 받아 설치한 앱에서만 동작하지 않습니다.
예상하신 시나리오가 맞으신건가요?

@kbh1018v
아래 코드와 같이 템플릿을 전송하게 될텐데요

[[KLKTalkLinkCenter sharedCenter] sendDefaultWithTemplate:template success:^(NSDictionary<NSString *,NSString *> * _Nullable warningMsg, NSDictionary<NSString *,NSString *> * _Nullable argumentMsg) {
    // 성공
    ...
} failure:^(NSError * _Nonnull error) {
    // 에러
    ...
}];

링크 전송중 에러가 발생할 경우 failure: 블럭의 파라미터로 넘어온 error가 어떤 내용을 갖고 있는지 확인해보셔야해요…
말씀해주신 테스트 환경에 따른 에러는 저희도 알려진 이슈가 없어서 어떤 에러가 발생했는지 예상되는게 없거든요~

두가지를 해결하셔야 하는데
일단 매번 에러가 발생하고 있으니 저기서 어떤 에러가 발생했는지 확인하는게 첫번째고

에러가 발생했을때 화면이 저렇게 바뀌는건 앱 구현 문제라서 저희가 해드릴 수 있는건 없고
적절한 에러 메시지를 노출하도록 바꾸시길 권해드립니다.