애플 앱 스토어에 앱 출시하기
iOS 앱 출시 프로세스는 일반적인 네이티브 iOS 앱과 동일하지만, 몇 가지 추가 사항을 고려해야 한다.
Expo를 사용한다면, Deployo to App Stores 가이드를 참고해 Apple App Store에 앱을 빌드하고 제출할 수 있다. 이 가이드는 모든 React Native 앱에 적용되며, 배포 과정을 자동화하는 데 도움을 준다.
1. 릴리스 스킴 구성
앱 스토어에 배포할 앱을 빌드하려면 Xcode에서 Release
스킴을 사용해야 한다. Release
로 빌드된 앱은 자동으로 앱 내 개발자 메뉴를 비활성화하여, 실제 사용자가 실수로 이 메뉴에 접근하는 것을 방지한다. 또한 JavaScript를 로컬에 번들링하므로, 컴퓨터에 연결되지 않은 상태에서도 앱을 기기에 설치하고 테스트할 수 있다.
앱을 Release
스킴으로 빌드하도록 구성하려면 Product → Scheme → Edit Scheme으로 이동한다. 사이드바에서 Run 탭을 선택한 후, Build Configuration 드롭다운 메뉴를 Release
로 설정한다.
전문가 팁
앱 번들 크기가 커지면 스플래시 스크린과 루트 애플리케이션 뷰가 표시되는 사이에 빈 화면이 깜빡이는 현상이 발생할 수 있다. 이 경우, AppDelegate.m
에 다음 코드를 추가하여 스플래시 스크린을 전환 중에도 계속 표시할 수 있다.
// 이 코드를 "[self.window makeKeyAndVisible]" 이후와 "return YES;" 이전에 배치한다.
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"LaunchScreen" bundle:nil];
UIViewController *vc = [sb instantiateInitialViewController];
rootView.loadingView = vc.view;
물리적 디바이스를 대상으로 할 때마다 정적 번들이 빌드된다. 이는 디버그 모드에서도 마찬가지다. 시간을 절약하려면, Xcode 빌드 단계의 Bundle React Native code and images
에 있는 셸 스크립트에 다음을 추가하여 디버그 모드에서 번들 생성을 끌 수 있다.
if [ "${CONFIGURATION}" == "Debug" ]; then
export SKIP_BUNDLING=true
fi
2. 릴리즈용 앱 빌드
Cmd ⌘ + B를 누르거나 메뉴 바에서 Product → Build를 선택해 릴리즈용 앱을 빌드할 수 있다. 릴리즈 버전으로 빌드하면 베타 테스터에게 배포하거나 앱 스토어에 제출할 수 있다.
React Native CLI
를 사용해 이 작업을 수행할 수도 있다. --mode
옵션에 Release
값을 지정하면 된다 (예: 프로젝트 루트에서 npm run ios -- --mode="Release"
또는 yarn ios --mode Release
실행).
테스트를 마치고 앱 스토어에 출시할 준비가 되면 다음 가이드를 따라 진행한다.
- 터미널을 실행하고 앱의 iOS 폴더로 이동한 후
open .
을 입력한다. - YOUR_APP_NAME.xcworkspace를 더블 클릭하면 XCode가 실행된다.
Product
→Archive
를 클릭한다. 장치를 "Any iOS Device (arm64)"로 설정해야 한다.
Bundle Identifier를 확인하고 Apple Developer Dashboard의 Identifiers에 생성한 것과 정확히 일치하는지 확인한다.
- 아카이브가 완료되면 아카이브 창에서
Distribute App
을 클릭한다. App Store Connect
를 클릭한다 (앱 스토어에 출시하려는 경우).Upload
→ 모든 체크박스가 선택되었는지 확인한 후Next
를 누른다.Automatically manage signing
과Manually manage signing
중 필요에 따라 선택한다.Upload
를 클릭한다.- 이제 App Store Connect의 TestFlight에서 해당 빌드를 확인할 수 있다.
필요한 정보를 입력하고 Build 섹션에서 앱 빌드를 선택한 후 Save
→ Submit For Review
를 클릭한다.
4. 스크린샷
애플 스토어는 최신 기기에 대한 스크린샷을 요구한다. 해당 기기에 대한 참고 자료는 여기에서 확인할 수 있다. 일부 디스플레이 크기에 대한 스크린샷은 다른 크기에 대해 제공된 경우 필수가 아님을 유의한다.