RN | facebook login - App freezing (with node version)

일어나 개발해야지·2024년 12월 8일

Background

react-native-fbsdk-next

위 라이브러리를 사용해서 페이스북 로그인 연동을 구현하던 중
Andoird 에서 앱이 멈추는 현상이 뱔견되었다.
구체적으로는 LoginManager가 호출되면 앱이 멈추는 현상이였는데, 페이스북 로그인 화면에서 곧바로 취소를 누르더라도 화면이 멈추는 현상이 있었다 .

라이브러리 사용에 대한 Getting Started Guide 내용중 빠뜨린 부분이 없다는 걸 확인 후 해당 내용을 issue로 등록했다. 담당자는 현재 수정이 어려운상황이라며 사과의 답변을 남겨주었다.

export const facebookLogin = async () => {
  try {
    console.log('1.check LoginManager ->', LoginManager)

    const result = await LoginManager.logInWithPermissions(['email', 'public_profile'], 'enabled')

    console.log('2.facebook response ->', result)

    if (result.isCancelled) {
      console.log('isCancelled')
      return
    }

    const data = await AccessToken.getCurrentAccessToken()
    if (data) {
      const token = data.accessToken.toString()
      return await socialLogin({socialType: 'FACEBOOK', token: token})
    }
  } catch (error) {
    console.error('Error:', error)
    return
  }
}

Getting Started Guide 재적용

2주후 다시한번 Getting Started Guide를 확인했을 때, 업데이트 된 내용이 있는 것을 확인했고 필요한 코드를 적용했다. 그런데 Android 내부 설정을 변경하니 에뮬레이터 빌드에 실패했고, 크로스체크가 필요한 상황이라 판단되어 팀원들에게 도움을 요청했다.
그리고 한사람의 환경에서는 빌드 실패없이 페이스북 로그인이 정상 동작한다는 점을 확인했다.

나 - iOS 실패/ Android 실패
팀원 1 - iOS 실패 / Android 성공
팀원 2 - iOS 성공 / Android 성공

Node version

iOS와 Android 빌드에 모두 성공한 팀원의 node version에 맞춰 나의 node version을 변경했다. 그리고 페이스북 로그인에 대한 길고긴 싸움이 끝이 났다.

Node 버전이 뭐길래 이런 현상이 발생하는걸까
공부가 필요하다고 생각했다

Next Task

Node 의 주요역할
: 패키지 관리와 빌드 시스템 처리

프로젝트 진행도중 node version이 변경되면
환경의 버전이 달라지는 것임으로 다른 패키지들과의 호환에 문제가 발생할수있다.

①그렇다면 node 의 버전관리를 어떻게 해야하며
②nvm use로 node 변경을 하지않았음에도 바뀔수있는 상황이 있는것인가 ?

0개의 댓글