React-native에서 아이폰으로 카톡 로그인 관련 질문

디벨로퍼스 앱ID: 999936

안녕하세요. react-native로 kakao login 구현중에 있습니다.
android는 잘 되는 거 확인해서 ios를 해보고 있습니다.

https://developers.kakao.com/docs/latest/ko/ios/getting-started
위에 링크를 최대한 보면서 해보고 있습니다만, 에러가 나고 있어요ㅜㅜ

상황1. Podfile에 ‘KakaoSDK’ 를 설치 할 경우 (pod ‘KakaoSDK’)
이 경우엔 시뮬레이터든, 아이폰 기기든 동일하게 'Alamofire’를 찾을 수 없다는 에러가 나타납니다.
Podfile에 Alamofire를 추가해봐도 동일합니다…

dyld[1809]: Library not loaded: @rpath/Alamofire.framework/Alamofire
  Referenced from: <AF88E962-E095-3A0D-B253-5EB9AEC6339F> /private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/KakaoSDKFriend.framework/KakaoSDKFriend
  Reason: tried: '/usr/lib/swift/Alamofire.framework/Alamofire' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/Alamofire.framework/Alamofire' (no such file), '/usr/lib/swift/Alamofire.framework/Alamofire' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/KakaoSDKFriend.framework/Frameworks/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/Frameworks/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/KakaoSDKFriend.framework/Frameworks/Alamofire.framework/Alamofire' (no such file), '/usr/lib/swift/Alamofire.framework/Alamofire' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/Alamofire.framework/Alamofire' (no such file), '/usr/lib/swift/Alamofire.framework/Alamofire' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/Alamofire.framework/Alamofire' (no such file), '/private/var/containers/Bundle/Application/F616E960-0883-436C-B07F-CEDF6B99062D/Kpopmap.app/Frameworks/Alamofire.framework/Alamofire' (no such file), '/System/Library/Frameworks/Alamofire.framework/Alamofire' (no such file, not in dyld cache)

상황2. Podfile에 KakaoSDKUser만 설치 할 경우 (pod ‘KakaoSDKUser’)
이 경우엔 아이폰으로 저의 앱이 잘 실행됩니다.
그리고 카카오 로그인 버튼을 클릭하면 카카오톡이 실행이 잘 됩니다.
근데, 로그인 관련 화면이 0.1초? 정도 잠깐 나타났다가 사라집니다.
아이폰14 프로맥스 기기로 실행해본 영상 첨부합니다.

영상 봐보시면, 약간 로그인 팝업창? 같은게 살짝 나타났다가 바로 사라집니다ㅜ

시뮬레이터(아이폰 15프로)로 실행하면 카카오 로그인화면으로 잘넘어가고, 이메일 및 패스워드 입력 후 로그인 해보면
다음과 같은 에러가납니다.
‘Login Fail(code:RNKakaoLogins)’, ‘The operation couldn’t be completed. (KakaoSDKCommon.SdkError error 2.)’

어떻게 해야하나요…??

IOS 버전: 17.1.1
xcode 버전: 15.0.1
react-native 버전: “react-native”: “0.72.6”
사용중인 라이브러리 및 버전: “@react-native-seoul/kakao-login”: “^5.3.1”
xcode workspace: [프로젝트명].xcworkspace

로그인 코드

import * as KakaoLogin from '@react-native-seoul/kakao-login';

const login = () => {
    KakaoLogin.login()
      .then((result) => {
        console.log('Login Success', JSON.stringify(result));
        getProfile();
      })
      .catch((error) => {
        if (error.code === 'E_CANCELLED_OPERATION') {
          console.log('Login Cancel', error.message);
          return;
        }

        console.log(`Login Fail(code:${error.code})`, error.message);
      });
  };

  const getProfile = () => {
    KakaoLogin.getProfile()
      .then((result) => {
        console.log('GetProfile Success', JSON.stringify(result));
      })
      .catch((error) => {
        console.log(`GetProfile Fail(code:${error.code})`, error.message);
      });
  };

<Button title="카카오 로그인" onPress={() => login()} />

안녕하세요.

위 오류는 개발하시는 환경 및 프로젝트 설정에 따라 발생 합니다.
Alamofire 가 pod 명령어를 통해 정상 설치되었는지 확인 부탁드리며, SPM으로 설치되어 있지는 않은지도 확인 부탁드립니다.

프로젝트 정리 및 Pods경로 삭제 후 클린 빌드 부탁드립니다.

카카오 로그인 이후, 앱으로 돌아가지 못하는 것으로 보입니다.
아래 프로젝트 설정 가이드를 참고 하시어 점검 부탁드립니다.

시작하기 | Kakao Developers 시작하기

Github
Documentation

안녕하세요, 카카오 SDK는 android, ios, flutter를 공식지원하고 리액트 네이티브에서 사용할 수 있는 sdk는 공식적으로 지원하지 않는 상황입니다.

React Native에서 카카오 SDK를 사용하려면 로그인을 위한 패키지나 공유를 위한 패키지, 내비를 위한 패키지들이 오래 전 버전을 쓰거나 라이브러리가 더 이상 관리되지 않거나 API가 부족하거나 최신 기능들을 반영하지 못하고 있습니다.

또한, 여러개의 라이브러리를 같이 쓰면 Native SDK의 버전 충돌로 프로젝트 빌드조차 쉽지 않습니다.

그래서 이러한 불편함을 해결하고자 여러 패키지들을 버전 충돌없이 같이 관리하고 최대한 많은 API를 지원하며 플랫폼별, SDK별 일관성있게 동작하는 우수한 품질의 라이브러리를 만드는 프로젝트를 소개드립니다.

이 라이브러리는 이미 User, Share, Message, Navi, Friend, Talkemd 대부분의 기능을 지원하며 React Native의 New Architecture, Old Architecture에 대한 지원은 물론 Expo를 위한 config plugin도 모두 포함되어 있어 쉽게 사용할 수 있습니다.

Android, iOS ,Web 모두 지원합니다.

감사합니다.

1개의 좋아요