[React-native] Xcode buildPhase - Mac IP 설정 script

Darcy Daeseok YU ·2026년 3월 24일

실기기에서 React Native Metro 서버에 연결하기 위해 Mac의 로컬 IP를 동적

왜 필요한가

  1. 시뮬레이터 vs 실기기 차이
    시뮬레이터
    localhost → Mac을 가리킴
    별도 설정 없이 Metro 연결 가능
    실기기 (iPhone)
    localhost → iPhone 자기 자신
    Mac의 Metro 서버에 접근 불가

👉 그래서 Mac의 실제 IP (예: 192.168.x.x)가 필요

Code - generate METRO_HOST
빌드시점에 mac ip를 찾아서 info.plist에 변수를 추가해준다.
BuildPhases 탭 -> CP스크립트 최하단에 위치할것

#구 Run script 순서 주의 :: Copy 마지막에 놓여야 함. (덮어쓰기 가능성 0) 
#구 IP_ADDR=$(ipconfig getifaddr en0)

# Wi-Fi(en0) 먼저 시도, 없으면 유선(en1) 시도
IP_ADDR=$(ipconfig getifaddr en0 || ipconfig getifaddr en1)

if [ -z "$IP_ADDR" ]; then
  IP_ADDR="localhost"
fi

# Set/Add 명령 시 $IP_ADDR를 확실하게 따옴표로 감싸주세요.
TARGET_PLIST="${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
/usr/libexec/PlistBuddy -c "Set :METRO_HOST $IP_ADDR" "$TARGET_PLIST" || \
/usr/libexec/PlistBuddy -c "Add :METRO_HOST string $IP_ADDR" "$TARGET_PLIST"

echo "✅ Build Phase :: METRO_HOST: $IP_ADDR"
profile
React, React-Native https://darcyu83.netlify.app/

0개의 댓글