npx expo run:ios하면 기본적으로 development빌드로 빌드되기 때문에 expo dev client있으면 자동으로 들어가서 dev client가 포함된다 그러니까 npx expo start —dev-client로 실행하면 된다

command + d로 디버거 킬 수 있다

eas build —platform ios —profile development로 했을때 developmentClient포함으로 해놓으면 된다 그럼 dev client되고, 시뮬레이터 아니고 내 기기에서 다운받으려면 eas build하는게 맞다

development build로 빌드한다음에 마찬가지로 —dev-client로 실행하면됨

네이티브 기능이 들어가면 이제는 npx expo start로는 에러가 난다

expo notification다운받은다음 시뮬레이터에서 계속 splashscreen만 보이는건 device only라서 실제 기기 아니면 에러나는것일수도 있다 실제 기기에서 테스트해보기

명령어 용도 결과물 비고
npx expo start JS 번들러 실행 없음 Expo Go로 테스트
npx expo run:ios 로컬 Xcode 빌드 실행 시뮬레이터/기기 설치 .ipa는 안 만듦
eas build --profile development --platform ios Dev Client 빌드 .ipa Expo Go 대체 앱
expo start --dev-client Dev Client 연결 실행 없음 JS 핫리로드
eas build --profile preview --platform ios TestFlight용 .ipa QA/테스터 배포
eas build --profile production --platform ios App Store 제출용 .ipa 정식 배포
eas submit --platform ios App Store Connect 업로드 없음 심사/배포 단계
eas update JS/Asset만 OTA 교체 없음 빌드 없이 핫픽스 가능

prebuild는 함부로 하면 안된다 수동으로 설정해놓은 코드들을 덮어씌울수 있음

prebuild한 다음에 네이티브 모듈 추가하려면 pod install하면 된다

expo prebuildeas build 관계

👉 즉, EAS Build 실행 시 서버가 알아서 prebuild를 돌려준다고 보면 됨.


2. "prebuild 함부로 하면 안 된다"는 이유

prebuild해야하는경우