본문 바로가기
개발 일기장/SWM Onestep

20241024 TIL: React Native로 ios 에뮬레이터에서 애플로그인 하기 [진행중]

by 룰루루 2024. 10. 24.

 오늘 배운 것

어제 처리하다가 막힌 SZ-457 이슈(RN 앱에서 iOS 에뮬레이터로 로그인하기)를 다시 처리해보자. 많은 에러가 나서 일일이 기록하지는 못했지만 수많은 에러들이 있었다. 

 

그러다 이런 화면이 뜨더니, 설정에서 기기에 로그인을 해 주니 '애플 로그인' 버튼을 눌렀을 때 반응이 나오기 시작했다. 

 

관련된 정보를 입력해주니, 아래와 같이 입력한 로그인 코드가 실행되는 것으로 보였다. 

const onAppleButtonPress = async () => {
  try {
    const appleAuthRequestResponse = await appleAuth.performRequest({
      requestedOperation: appleAuth.Operation.LOGIN,
      requestedScopes: [appleAuth.Scope.FULL_NAME, appleAuth.Scope.EMAIL],
    });

    const credentialState = await appleAuth.getCredentialStateForUser(
      appleAuthRequestResponse.user,
    );

    if (credentialState === appleAuth.State.AUTHORIZED) {
      // when user is authenticated
    }
  } catch (error) {
    console.error('Apple login error:', error);
  }
};

 

다만 걸리는 점은 credentialState의 값이 appleAuth.State.AUTHORIZED가 아니라 appleAuth.State.REVOKED였다는 점이다. 왜 revoked가 되었는지 원인을 찾아보려고 했는데, 하나같이 지금 상황에서는 해당되지 않는 원인들이었다. 

 

GPT가 제시한 방법으로는 apple login 관련 설정이 옳지 않아서였다. 그런데, 세상에. 라이브러리에 멀쩡하게 메시지가 나와 있는게 아닌가?

 

그렇다. 그냥 내가 까막눈이었던 것이다. 그래서 3시간 장장의 삽질은 이렇게 허무하게 끝이 났다.