Expo란?
Expo는 React Native을 기반으로 더욱 쉽고 빠르게 앱서비스를 개발할 수 있게 도와주는 도구로, 앱개발에 필요한 여러가지 기능 들을 제공하고 있다. 예를 들면 카메라, 위치, 알람 등 다양한 기능을 구현할 때 도움을 주는 API 등이 있다.
만약 React Native 앱을 Expo로 개발했다면 Build 할 때도 Expo에서 제공하는 서비스로 쉽고 간단하게 App을 Build 할 수 있다. Expo로 App을 Build하기 위해서는 우선 expo-cli 를 설치해야 한다.
1) 전역으로 Expo Cli 설치
npm install -g expo-cli
Expo Cli 설치가 완료가 되었다면, Expo에서 EAS 즉 Expo Application Services라는 빌드&배포 서비스를 이용하기 위해서는 expo에 회원가입이 되어있어야한다. Expo 웹사이트에서 회원가입을 진행하여 계정을 생성하도록 하자.
2) EAS Cli 설치
EAS도 Cli 도구를 제공하고 있다. 이것이 있으면 명령어로 앱을 빌드하는 것이 가능하다. EAS Cli도 설치하도록 하자
npm install -g eas-cli
3) EAS 로그인
Expo Cli, EAS Cli 모두 설치가 완료가 되었고 회원가입도 완료하였다면 다음의 명령어 입력후 로그인을 진행하면 된다.
eas login
4) app.json, eas.json 설정
app.json 설정
app.json 설정 내분의 slug와 owner, extra > eas > projectId를 Expo.dev 로그인 한 후 대시보드의 Project의 설정과 값이 같아야한다.
eas build:configure
이 명령어를 실행하면 eas.json파일이 생성된다. eas.json 설정에 대한 설명은 문서에 제공되고 있다. https://docs.expo.dev/eas/json/
eas.json에서 dev와 prod 버전을 나눠서 프로필을 정의할 수 있다. 여러개의 프로필을 정의해서 빌드환경을 다르게 설정할 수도 있다.
아래는 expo docs에서 제공하는 멀티 프로필 정의 예시이다.
{
"cli": {
"version": "SEMVER_RANGE",
"requireCommit": boolean
},
"build": {
// EAS Build configuration
}
"submit": {
"SUBMIT_PROFILE_NAME_1": {
"android": {
...ANDROID_OPTIONS
},
"ios": {
...IOS_OPTIONS
}
},
"SUBMIT_PROFILE_NAME_2": {
"extends": "SUBMIT_PROFILE_NAME_1",
"android": {
...ANDROID_OPTIONS
}
},
}
}
참고: https://docs.expo.dev/submit/eas-json/
5) EAS로 빌드해서 Android apk 뽑기
각각의 플랫폼에 맞게 빌드하는 명령어인데, ios로 빌드하려면 Apple 개발자 계정이 있어야한다.
# android 빌드
eas build --platform android
# ios 빌드
eas build --platform ios
Android 빌드 명령어를 실행하면 keystore를 생성하겠냐고 물어보는데 yes를 선택하면 이어서 빌드가 진행된다.
'Frontend' 카테고리의 다른 글
[React] useEffect 사용 시 주의할 점 (0) | 2024.01.22 |
---|---|
[React] useMemo와 useCallback (0) | 2024.01.19 |
[React Native] Navigation에 대하여 (0) | 2024.01.17 |
[React Native] FlatList와 SectionList의 차이 (0) | 2024.01.16 |
[React Native] Bridge란 무엇인가? (0) | 2024.01.15 |
댓글