[IOS] 카카오 로그인 문의드립니다

안녕하세요! 카카오 로그인 시 기종 관련 특이사항이 있는지 문의드립니다.

저희 앱을 앱스토어에 심사를 넣었는데, iPad Air 5세대 / iPadOS 18.3.2 환경에서 무기한 로딩으로 인해 반려처리를 받았습니다. 현재 Android는 심사가 끝나 테스트 중이며, 해당 기기(iPad Air 5세대 / iPadOS 18.3.2)를 내부에서 보유하고 있지 않아 동일 증상을 직접 재현하지 못한 상황입니다.

앱스토어 심사 환경에서만 위와 같은 무기한 로딩 현상이 발생하여, 카카오 OAuth 관련하여 SDK 또는 OS 차원에서의 이슈 가능성을 확인드리고 싶습니다.

또한, 다른 개발자 분께서 유사한 이슈를 경험하고 해결한 사례가 있다면 공유 부탁드리겠습니다.

감사합니다!


사용중인 SDK
kakao_flutter_sdk_auth : 1.9.6
KakaoSDKAuth : 2.22.7

안녕하세요.

확인을 위해 앱 ID 부탁드립니다.


앱ID
https://developers.kakao.com/ 의 내 애플리케이션에 표시되는 ID 값 입니다.
숫자로된 ID 입니다
ex) 123456

[@tim.l @woody.ho]

1127932 입니다

안녕하세요.

재현은 안되시는 거죠?
구현하신 로그인 방식(사용 함수)이 어떻게 되나요?

로그인 방식 알려주시면,
기기 확보되는데로 재현 테스트 해보겠습니다.

iPadOS 18.4 / iPad Air 5세대 기기확보하여 카카오 로그인 하며 카카오 계정 로그인 페이지 진입 정상작동확인되며
VPN으로 미국과 싱가포르 지역 IP변환 후, 로그인 시도에도 정상동작하여 문제를 확인하지 못했습니다.

심사자의 일시적인 네트워크 문제인지 확인 위해 재심사 신청 한번 해주시겠어요?

// 로그인 버튼 클릭
onTap: () async {
                    dialogLoading(context);
                    final result = await ref.read(loginViewModelProvider.notifier).singInKakao();
                    if (!context.mounted) return;
                    if (result) {
                      context.goNamed(HomeScreen.routeName);
                    } else {
                      context.pop();
                    }
                  },

// 아래 코드에서 final result = await ref.read(authRepositoryProvider).signInKakao(); 부분
Future<bool> singInKakao() async {
    state = const AsyncValue.loading();
    final result = await ref.read(authRepositoryProvider).signInKakao();
    if (result != null) {
      await ref.read(authRepositoryProvider).updateFcmToken();
      final body = LoginModel(
        email: result.email ?? '',
        nickname: result.nickname ?? '',
        platform: LoginPlatForm.kakao.platform,
      );
      loginState(body);
      return true;
    } else {
      return false;
    }
  }

// 카카오 로그인 띄우는 부분
Future<LoginModel?> signInKakao() async {
    if (await isKakaoTalkInstalled()) {
      try {
        await UserApi.instance.loginWithKakaoTalk();
        final result = await kakaoUser();
        return result;
      } catch (e) {
        // 카카오톡 로그인 취소
        if (e is PlatformException && e.code == 'CANCELED') {
          logger.e('카카오톡 로그인 취소');
        }

        try {
          await UserApi.instance.loginWithKakaoAccount();
          final result = await kakaoUser();
          return result;
        } catch (e) {
          logger.e('카카오계정으로 로그인 실패: $e');
          return null;
        }
      }
    } else {
      try {
        await UserApi.instance.loginWithKakaoAccount();
        final result = await kakaoUser();
        return result;
      } catch (e) {
        logger.e('카카오계정으로 로그인 실패: $e');
        return null;
      }
    }
  }

이렇게 드리는게 맞는지 모르겠네여 ㅠ

넵! 재심사 한번 받아보겠습니다. 확인해주셔서 감사합니다!

@안진우4756

안녕하세요

작성해주신 내용을 확인해봤을 때 kakao_flutter_sdk와 iOS용 카카오SDK를 함께 사용하고 계신 것으로 보이는데요, kakao_flutter_sdk는 iOS용 카카오SDK와는 독립적으로 동작하기 때문에 iOS용 카카오SDK에 대한 의존성 선언 없이도 정상적으로 동작합니다. iOS용 카카오SDK는 의존성 제거 부탁드립니다.

2개의 좋아요

답변 감사합니다!

혹시 IOS용 카카오SDK가 어떤건지 여쭤봐도 괜찮을까요??

KakaoSDKAuth를 어떻게 사용하고 계신지 몰라서 정확한 답변을 드리기는 어렵습니다.

다만 kakao_flutter_sdk와 iOS용 카카오SDK 모두 내부적으로 동일한 형식의 커스텀 스킴 (ex - kakao${app_key}://oauth 등)을 사용하기 때문에 경우에 따라서는 kakao_flutter_sdk로 전달되어야할 커스텀 스킴이 iOS용 카카오SDK로 전달되어 정상적으로 동자하지 못하는 등의 이슈가 발생할 가능성이 있어보여요.

iOS용 카카오SDK에 대한 의존성 설정이 되어있는 것이 제보주신 이슈의 원인인지 아닌지에 대해서는 확답을 드릴 수는 없는 점 양해 부탁드립니다.

1개의 좋아요