Ios에서 카카오 로그인 시, 웹 로그인만 동작합니다

문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.


Flutter SDK Version: Flutter 3.24.0
Flutter Kakao SDK Version: 1.9.6
플랫폼: iOS
디벨로퍼스 앱 ID: 637014

안녕하세요, Flutter로 카카오 로그인을 구현하여 사용중입니다.

iOS에서 카카오 로그인 시, 카카오톡 앱이 설치되어 있음에도 웹 로그인으로 연결됩니다.
(그런데 로컬에서 빌드하여 테스트할때는 카카오톡 앱이 정상적으로 호출되어 앱로그인으로 연결되는 상황입니다)

참고로 말씀드리자면 최근 카카오 sdk 버전을 변경하거나 로그인 관련 코드를 수정하지 않았습니다.
혹시 제가 추가 확인이 필요한 부분이 있을까요?

확인 후 답변 부탁드립니다

코드)

    if (await isKakaoTalkInstalled()) {
      try {
        await UserApi.instance.loginWithKakaoTalk();
      } catch (error) {
        if (error is PlatformException && error.code == 'CANCELED') {
          return;
        }
        await _loginWithKakaoAccount();
      }
    } else {
      await _loginWithKakaoAccount();
    }

안녕하세요.

iOS 에서 카카오톡 로그인은 유니버셜 링크로 동작합니다.
유니버셜링크는 사용자의 사파리 설정에 영향을 받는데요
우선 "사파리의 방문기록 및 웹 사이트 데이터 지우기” 기능을 사용하여 사파리 초기화 후 다시 시도 부탁드립니다.

(1) 사파리에서 모든 탭 제거
(2) 설정 > Safari > 사파리의 방문기록 및 웹 사이트 데이터 지우기(모든 방문 기록)
(3) 앱 삭제
(4) 앱 설치

위 순서대로 진행해보아도 동일한 현상이 발생됩니다

안녕하세요.

설치된 카카오톡은 로그인되어 있나요?
어떤상황인지 확인위해 재현 영상 첨부 부탁드려요.
(첨부가 안된다면 압축해서 업로드 하시면됩니다.)

@tim.l 카카오톡도 설치되어 있고 로그인도 되어 있습니다

참고차 추가로 말씀드리자면, 아이폰에서 카카오 로그인 시에 카카오톡 호출도 안되고, 카카오 로그인 요청 웹페이지가 열렸을때 아이디 비밀번호를 모두 받는 페이지가 호출됩니다
영상에서는 로그인 웹페이지 접속 시, 로그인된 계정이 보이고 있지만 원래는 직접 카카오에 로그인하고 2차 인증도 했어야 했습니다.

if (await isKakaoTalkInstalled()) 는 어떤 값이 나오나요?

본문에 작성된 것처럼 동일한 기기와 환경임에도 불구하고
로컬에서 빌드할때는 카카오톡이 정상적으로 열리고 (isKakaoTalkInstalled() == true)
배포 후 앱스토어/테스트플라이트에서 다운받은 경우에만 위와 같은 현상이 발생하고 있습니다.
그래서 로컬에서 원인 파악하기가 매우 어려운 상황입니다 ㅠㅠ

우선 기재하신 로직에서 어떤 구문을 타는지 확인이되어야 원인 유추 가능할 것 같아요.

if, else, catch 절을 어떻게 타는지 앱스토어/테스트플라이트앱에 로깅 로직 추가 하셔서 확인해주시겠어요?

아 원인 확인했습니다…!
확인해보니 Info.plist에 LSApplicationQueriesSchemes가 두 개로 나뉘어 정의되어 있어서 발생하는 버그였습니다
확인해주셔서 감사합니다!

1개의 좋아요