crossplatformkorea / react-native-kakao-login

react-native native module for Kakao sign in.
MIT License
352 stars 134 forks source link

iOS 로그인시 null is not an object (evaluating 'RNKakaoLogins.login') #178

Closed jungsunwoung closed 3 years ago

jungsunwoung commented 3 years ago

Version of kakao-login libraries

2.10.1

Version of react-native

0.63.1

Platforms you faced the error (IOS or Android or both?)

IOS

Expected behavior

카카오 로그인

Actual behavior

Readme 를 따라서 다해보았고 android 는 정상작동하는 것을 확인했습니다

  1. npm install @react-native-seoul/kakao-login

2.pod install ( 이때 정상적으로 install 이 되지 않는 문제) 2.1 Pod file에 pod 'KakaoOpenSDK', '~> 1.21.0' 문구 추가 2.2 libraries에 RNKakaoLogins 추가, build phase에 추가 ->에러나서 이부분 다시 revert. (다시 삭제하고 실제 경로에 추가까지 해봄. 에러)(이부분 에러는 React/RCTBridgeModule.h file not found인데 이것도 관련 링크 들어가서 해봤는데 안됨 ㅠㅠ)

3.post installation 완료 3.1 이때 framework 추가하는부분 했더니 에러떠서 이부분 안함( all load, force load 이부분)

이렇게 다 했을 때 로그인버튼을 누르면 null is not an object (evaluating 'RNKakaoLogins.login') 이런 에러가 발생합니다.

뭔가 pod install 이 제대로 안되는 문제같은데 npm install 이후 pod install시에 아무것도 안뜨는게 저만 그런가요?ㅠ

Tested environment (Emulator? Real Device?)

Emulator

jungsunwoung commented 3 years ago

또한 Framework 추가하는부분을 꼭 해야하는 건지 궁금합니다. 어떤 docs에 보면 추가하고 그러던데 뭐가 맞는지 모르곘네요 ㅠㅠ에러가 너무많이떠서

heyman333 commented 3 years ago

@jungsunwoung 안녕하세요 먼저, RN버전 0.63.1을 사용하고 계신다면, Framework를 추가하거나 수동으로 Podfile을 수정하실 필요가 전혀 없습니다!

  1. npm install @react-native-seoul/kakao-login
  2. cd ios && pod install

이렇게 진행하시면 네이티브 소스가 Pods안에 설치가 자동으로 됩니다. pod install 할 때 보이는 에러메세지를 올려주시면 확인해 보겠습니다!

jungsunwoung commented 3 years ago

@heyman333 안녕하세요 빠른답변 감사합니다. 다른 모듈은 설치를 할때 npm install 한 후에 pod install을 하면 설치되는걸 볼 수 있는데 react-native-seoul/kakao-login 모듈은 pod install을 해도 별다른 변화가 없어서 따로 pod파일에 추가를 했습니다.

위에 알려주신대로 1,2번을 진행하면 image 다음과 같은 에러가 발생합니다(KakaoOpenSDK/KakaoOpenSDK.h" file not found)

jungsunwoung commented 3 years ago

@heyman333 해결했습니다..감사합니다 // react-native.config.js module.exports = { dependencies: { "@react-native-seoul/kakao-login": { // Set null on platform that you want manual installation platforms: { ios: null, android: null, }, }, }, }; 이부분을 아무생각없이 넣어놓고 왜 pod가 안되지 안되지 엄청 고생했네요 ㅠㅠㅠ 저부분에서 ios null을 제거해주고 설치한후 플로우 따라가니까 완벽하게 됩니다 감사합니다!!!!!

heyman333 commented 3 years ago

네 고생 하셨습니다 ㅎㅎ