이미지 최적화까지 마쳤다면
이제 개발 단계는 거의 끝이다.
다음으로 반드시 거쳐야 할 단계가 있다.
바로 빌드와 배포다.
- 내 폰에서는 잘 되는데
- APK / IPA는 어떻게 만들지?
- 스토어 등록은 또 뭐가 이렇게 많지?
이 글에서는
Expo를 사용하는 React Native 프로젝트 기준으로
배포 전 전체 흐름을 한 번에 정리한다.
이 글이 필요한 사람
- Expo로 만든 앱을 실제로 배포해보고 싶은 경우
- Android / iOS 빌드 흐름이 감이 안 오는 경우
- 스토어 등록 전에 무엇을 준비해야 하는지 알고 싶은 경우
React Native 배포 전체 흐름
큰 흐름부터 보면 이렇다.
- 앱 정보 설정
- 빌드 환경 준비
- Android / iOS 빌드
- 스토어 업로드
- 심사 대응
[이미지: React Native 앱 배포 전체 흐름]
이 글에서는
Expo + EAS Build 기준으로 설명한다.
배포 전에 반드시 확인할 것들
빌드를 누르기 전에
아래 항목은 꼭 한 번 점검해야 한다.
- 앱 이름 / 아이콘
- 스플래시 이미지
- 버전 정보
- 패키지명 / 번들 ID
- 환경 변수 (API 주소 등)
이 중 대부분은
app.json 또는 app.config.js에서 관리한다.
app.json에서 자주 설정하는 항목
{
"expo": {
"name": "MyApp",
"slug": "my-app",
"version": "1.0.0",
"android": {
"package": "com.example.myapp"
},
"ios": {
"bundleIdentifier": "com.example.myapp"
}
}
}
여기서 중요한 포인트
- android.package / ios.bundleIdentifier
- 앱의 고유 식별자
- 한 번 배포하면 변경이 까다롭다
⚠️ 배포 전에 이름을 확정하는 게 좋다
Expo EAS Build란 무엇인가
예전에는
로컬에서 Android Studio / Xcode로 빌드해야 했다.
지금은 대부분
EAS Build를 사용한다.
- 클라우드에서 빌드
- 로컬 환경 의존도 낮음
- 설정이 단순함
Expo를 쓰는 가장 큰 이유 중 하나가
바로 이 빌드 경험이다.
EAS CLI 설치
npm install -g eas-cli
로그인한다.
eas login
EAS 설정 초기화
프로젝트 루트에서 실행한다.
eas build:configure
이 과정을 거치면
- eas.json 생성
- 빌드 프로필 설정 완료
기본 설정으로도
입문 단계에서는 충분하다.
Android 빌드하기
eas build -p android
선택 옵션은 보통 이렇다.
- build type: APK 또는 AAB
- 스토어 배포용 → AAB 권장
빌드가 끝나면
다운로드 링크가 제공된다.
iOS 빌드하기
eas build -p ios
iOS는
Apple 계정이 필요하다.
- Apple Developer 계정
- 인증서 / 프로비저닝 자동 처리 (EAS가 대부분 해결)
iOS 빌드는
Android보다 준비할 게 조금 더 많다.
스토어 업로드 간단 흐름
Android (Google Play)
- Google Play Console 접속
- 앱 생성
- AAB 업로드
- 스토어 정보 입력
- 심사 제출
iOS (App Store)
- App Store Connect 접속
- 앱 생성
- 빌드 연결
- 심사 정보 입력
- 리뷰 제출
이 단계는
개발보다 행정 작업이 더 많다는 느낌을 받기 쉽다.
심사에서 자주 막히는 포인트
실무에서 자주 겪는 이슈들이다.
- 개인정보 처리방침 미작성
- 테스트 계정 요구
- 앱 설명 부족
- 권한 사용 이유 미기재
⚠️ 특히 로그인 기능이 있다면
테스트 계정 제공은 거의 필수다.
배포 후 수정은 어떻게 할까
- 코드 수정
- 버전 번호 증가
- 다시 빌드
- 스토어에 새 버전 업로드
이 흐름은
처음 배포와 거의 동일하다.
그래서 배포 과정은
한 번 경험해두는 게 정말 중요하다.
실무 기준으로 느낀 점
- 개발보다 배포가 더 긴장된다
- 작은 설정 하나가 빌드를 막는다
- 문서 읽는 능력이 중요해진다
하지만 한 번 해보면
두 번째부터는 훨씬 수월해진다.
정리
- 배포는 개발의 마지막이 아니라 필수 단계다
- Expo + EAS Build로 진입 장벽이 많이 낮아졌다
- app.json 설정은 배포 전에 꼭 점검한다
- Android / iOS 흐름은 다르지만 구조는 비슷하다
- 한 번 직접 해보는 게 가장 빠른 학습이다
다음 글에서는
스토어 심사에서 실제로 자주 걸리는 사례와
“왜 리젝당했는지”를 중심으로
실무 경험 기반 정리를 해보려고 한다.
'react-native' 카테고리의 다른 글
| React Native 스토어 심사 리젝 사례 정리: 왜 거절되는지 미리 알면 덜 고생한다 (0) | 2026.01.28 |
|---|---|
| React Native 이미지 최적화 정리: 스크롤 성능을 살리는 이미지 전략 (0) | 2026.01.25 |
| React Native FlatList 성능 최적화 정리: keyExtractor부터 getItemLayout까지 (0) | 2026.01.24 |
| React Native 성능 최적화 기초: 리렌더링과 useMemo, useCallback 정리 (1) | 2026.01.23 |
| React Native 상태 관리 라이브러리 비교: Redux, Zustand, Recoil 선택 가이드 (0) | 2026.01.22 |