My Boundary As Much As I Experienced

react-native-config로 환경변수를 관리할 때 iOS에서만 특정 값을 못 불러온다면 의심해볼 원인... (매우 허무함 주의) 본문

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를 한 번 씩 눌러주는 습관을 갖자~ 이다.