오늘 배운 것

현재 상황에 대해서 간략히 정리해 보자. 애플 로그인 프론트 작업은 1차적으로 완료되었다. 다만 서버와 통신할 때 콘솔에 찍히는 응답이 null인 문제를 해결하면 되겠다. 

그런데 오늘 추가적인 문제가 발생했다. 다른 팀원이 알려준 이슈인데, 앱을 지웠다가 다시 깔았을 때 messaging().getToken() 메소드에서 오류가 발생한다는 문제였다. (이 messaging은 RnFirebase 라이브러리의 기능이다.) 그리고 이 이슈는 아마도 내 apple developer 계정에 '프로비저닝 프로파일(Profile)'이 없는 것과 연관이 있다고 말해주었다. 

 

결론은 '프로비저닝 프로파일'을 새로 만들어줘야 했다. 문제는 이 프로파일을 만들기 위해서는 '새 디바이스'를 등록해야 한다는 점이었다. 그런데 이 새 디바이스의 경우, 이미 기존 apple developer 계정에 연동되어 있던 내 아이패드나 팀원의 아이폰은 '이미 등록된 디바이스'로 간주되어 새 디바이스로 간주하지 않는다는 문제가 있었다. 

 

그렇게 프로비저닝 프로파일 생성하는 난관에 부딪히고 있던 때, 다시 Device 탭에 들어가 봤더니 웬일로 잘 되는 것이 아닌가. 


이 Device(다른 팀원의 iphone 디바이스다)를 사용해서 apple developer 계정에서 프로비저닝 프로파일을 생성할 수 있었고, 생성한 프로파일을 XCode에 적용할 수 있었다. 

 

그렇게 프로파일을 무사히 적용하고, dev 브랜치와 rebase도 했다. 그리고 다시 'npm run ios:dev' 명령어를 실행하니, 다음과 같은 에러가 뜨는 게 아닌가. 

 

GPT의 조언과 다양한 블로그 글들을 참고해봤는데, GPT가 제시한 원인과는 달리 RN 환경이 아닌 곳에서도 많은 github issue들을 볼 수 있었다. 그에 비해 GPT는 다음과 같은 원인들을 제시했는데, 과연 이 원인들이 정말이었을지는 조금 의문스럽다. 

  1. Sentry 설정 문제
  2. Expo와 Sentry의 연동 문제
  3. Sentry 관련 패키지(@sentry/react-native) 설정 문제

3번의 경우 npm i 명령어로 버전 업그레이드를 해 주었다. 여전히 되지 않아서 1-2번 아니면 다른 github issue(찾아봤는데 내 경우와 완벽히 일치하는 issue는 잘 보이지 않았다)를 찾아서 공통점을 파악해봐야 할 것 같다. 

 

1번의 경우 sentry.properties 파일이 다른 경로에 있을 가능성을 제시해 주었는데, 문제는 나는 애초에 sentry.properties 파일이 없었다는 거였다. 

 

2번의 경우도 마찬가지로 설정 파일(app.config.js)에서 expo 관련 설정에서 특정 파라미터(ios.dangerous)의 경로 설정이 잘못되었을 가능성을 제시해 주는데, 문제는 애초에 해당 파라미터와 관련된 설정은 없었다. 아직 여기에서 막히고 있다... 내일 다시 해 봐야겠다. 

 

+ Recent posts