5. 배포환경 설정

Tags
release
부가 설명
더 자세한 사항은 '배포' 테이블에 빼놨으니 참조

프로덕션을 위한 앱 구축 (AppStore 출시)

해당 프로세스는 기존의 native iOS 앱과 동일하다.
 

1. ATS 켜기 (App Transport Security)

iOS 9 이후에 도입된 보안 특성.
모든 HTTP 요청을 거절한다. (HTTPS만 써라!)
이로 인해 개발자 Resact Native 서버를 비롯한 HTTP 트래픽이 차단될 수 있다.
 
React Native 프로젝트에서는 개발 편의를 위해 기본적으로 localhost에 대해서는 ATS가 비활성화 돼있다.
따라서 앱 출시 전에는 반드시 ATS 예외 없이 다시 켜야한다.
ios/ 폴더Info.plist에서 ATS 관련 옵션 수정
  1. NSExceptionDomains 제거
  1. NSAllowsArbitrayLoads → No로 변경
notion image
 
HTTP 요청이 반드시 필요한 경우는 ATS 옵션 예외를 두어야하는데 다음 포스트 참조.
 

2. release scheme 설정하기

앱스토어 출시를 위해서는 Xcode에서 Release scheme를 설정해야 한다.
릴리스용으로 구축된 앱은 인앱 개발자 메뉴를 자동으로 비활성화하므로 사용자가 프로덕션에서 메뉴에 실수로 액세스하는 것을 방지한다. 또한 JavaScript를 로컬로 번들하므로 앱을 장치에 넣은 후 컴퓨터에 연결되지 않은 상태에서 테스트할 수 있다.
notion image
notion image
 

3. Build 하기

Xcode에서 그냥 빌드하면 됨. (커맨드+B 단축키)
Release로 빌드되면 베타 테스터에게 앱을 배포하고 앱 스토어에 제출할 수 있다.
#React Native CLI로도 Release모드로 빌드시킬 수 있다. $ npx react-native run-ios --configuration Release