FrontEnd/React Native
react-native-config로 환경변수를 관리할 때 iOS에서만 특정 값을 못 불러온다면 의심해볼 원인... (매우 허무함 주의)
Bumang
2024. 11. 1. 23:54
문제 상황:
나는 API_KEY나 여러 인증서 값들이 dev/prod 환경 별로 다르게 주입되게 하려고
react-native-config를 도입하였다.
그리고 이런 값들이 추가될 때마다 .env파일에 이쁘게 추가해줬는데...
BASE_URL=https://...
TOPIC_ALL_USERS=...
GOOGLE_KEY=...
새로 추가한 Google WebClientId 값이 iOS 시뮬레이터로 빌드 시 계속 undefined가 뜨는 것이다.
(위 .env파일에선 GOOGLE_KEY라고 해놨다.)
그런데 TOPIC_ALL_USER와 BASE_URL는 보이는데 GOOGLE_KEY만 안 보인다니.. 너무 이상했다.
.env파일이 아예 안 먹히는거면 몰라도 .env파일의 다른 값들은 다 보이는데 유독 한 값만 안 보인다는게 이상했다.
알고 보니 이전에 캐싱한 .env파일이었던거임~
그렇다.. iOS 시뮬레이터는 캐싱의 달인이다. 앵간한 것들은 다 캐싱해두기 때문에..
이전 .env 파일의 상태를 가지고 있던 것이었다.
Xcode에서 Clean Build Folder만 해주면 추가한 환경변수가 잘 보인다.
교훈은 시뮬레이터 빌드하기 전에 Clean Build Folder를 한 번 씩 눌러주는 습관을 갖자~ 이다.