안녕하세요 flutter_kakao_sdk 1.6.1 -> 1.9.1로 업데이트 한 후에 isKakaoTalkInstalled가 iOS에서 항상 true로 반환 됩니다

flutter_kakao_sdk 1.6.1 → 1.9.1로 업데이트 한 후에 isKakaoTalkInstalled가 항상 true로 반환되어 앱 다운로드하라는 safari로 이동 하는 현상이 발생 함.
flutter_kakao_sdk 1.8.0으로도 테스트하였으나 동일 현상이 발생합니다.
Id는 627224 입니다

안녕하세요

구현하신 로그인 코드 첨부 부탁드리겠습니다.

예제에 있는 해당 코드를 그대로 사용하였습니다.

// 카카오 로그인 구현 예제

// 카카오톡 실행 가능 여부 확인
// 카카오톡 실행이 가능하면 카카오톡으로 로그인, 아니면 카카오계정으로 로그인
if (await isKakaoTalkInstalled()) {
try {
await UserApi.instance.loginWithKakaoTalk();
print(‘카카오톡으로 로그인 성공’);
} catch (error) {
print(‘카카오톡으로 로그인 실패 $error’);

// 사용자가 카카오톡 설치 후 디바이스 권한 요청 화면에서 로그인을 취소한 경우,
// 의도적인 로그인 취소로 보고 카카오계정으로 로그인 시도 없이 로그인 취소로 처리 (예: 뒤로 가기)
if (error is PlatformException && error.code == 'CANCELED') {
    return;
}
// 카카오톡에 연결된 카카오계정이 없는 경우, 카카오계정으로 로그인
try {
    await UserApi.instance.loginWithKakaoAccount();
    print('카카오계정으로 로그인 성공');
} catch (error) {
    print('카카오계정으로 로그인 실패 $error');
}

}
} else {
try {
await UserApi.instance.loginWithKakaoAccount();
print(‘카카오계정으로 로그인 성공’);
} catch (error) {
print(‘카카오계정으로 로그인 실패 $error’);
}
}

위에서 말씀하신 내용은 디바이스에 카카오톡이 없음에도 isKakaoTalkInstalled가 true를 반환한다는 내용이 맞을까요?

이 현상은 UserApi.instance.loginWithKakaoTalk() 을 호출했을 때 톡이 설치되어있지 않으면 발생하는 현상이기 때문에, 디바이스에 카카오톡 앱이 설치는 되어있으나 UserApi.instance.loginWithKakaoTalk() 을 호출했을 때 잘못 동작하고 있는 것으로 보입니다.

기존에 1.6.1 에서는 정상적으로 동작하다가 1.9.1 로 업데이트한 후에 해당 현상이 발생한 이유는 1.7.0 버전부터 UserApi.instance.loginWithKakaoTalk() 동작 방식이 변경(유니버셜 링크 적용) 되었기 때문인 것으로 보여요.

톡이 설치되어있는데 이슈가 발생하는 경우가 맞다면 ‘카카오톡 삭제 후 재설치’ 혹은 ‘설정 > 사파리 > 방문 기록 및 웹 사이트 데이터 지우기’ 시도해보시면 좋을 것 같습니다.

앱에 디바이스가 설치되지 않는 시뮬레이터 환경 및 앱 리뷰어 테스트시에도 해당 메소드가 true로 반환되어 safari로 이동 합니다.

유니버셜링크 방식으로 변경되었다고 하셨는데, 다른 유니버셜 링크와 겹치는 로직이 발생할 수도 있을까요? 다른 설정은 아무것도 안바꾸고 버전만 올렸는데 이렇게 되니 당황스럽네요.

다른 유니버셜 링크와 로직이 겹쳐서 오작동하는 경우는 없을 것으로 보입니다.

적어주신 내용에서 이해가지 않는 내용들이 있어서 문의드려요.

우선 최근 2주 간의 서버 로그를 확인해봤는데요, 4월 23일 오후 5시 1분에 1.9.1 버전으로 카카오톡 로그인 1회 시도한 것 외에는 모든 로그가 1.4.3 버전을 사용하고 있는 것으로 남아있어서 기존에 1.6.1 버전을 사용하고 있었다는 내용이 잘 이해가 가지 않습니다. 1.9.1 버전으로 카카오톡 로그인 시도한 로그도 로그인에 성공한 것으로 보이고, 로그상 현재도 1.4.3 버전을 사용하고 있는 것으로 보입니다.

그리고 isKakaoTalkInstalled 코드는 1.4.3 버전과 1.6.1 버전, 1.9.1 버전이 완전히 동일한 코드라서 업데이트 이후 동작이 달라졌다고 말씀주신 내용 자체도 잘 이해가 가지 않네요.

이슈 상황 자체를 제대로 이해하지 못했고, 이슈 자체도 재현되지 않고 있어서 이슈 파악이 어려운 상황입니다. (시뮬레이터, 실기기에서 모두 재현되지 않네요)

말씀해주신 앱 id 가 맞는지 다시 한번 확인 부탁드리고, 조금 번거로우시더라도 별도의 샘플프로젝트에서 이슈 재현을 시도했을 때 정상적으로 동작하는지 확인 부탁드리겠습니다. 만약 샘플 프로젝트로 재현했을 때 이슈가 재현된다면 해당 샘플 프로젝트를 tony.mb@kakaocorp.com 으로 보내주시면 감사하겠습니다