우선 EAS라는 것을 설치해줘야 한다.
터미널에서 npm install -g eas-cli
를 입력하여 eas를 설치해준다.
이후에 eas 로그인을 해주고
eas build:configure을 통해서 eas.json파일을 생성해준다.
이렇게 해서 배포환경 세팅은 끝났다.
app.json파일을 열게 되면 많은게 나오는데 우선 중요한 부분은
expo.version, ios.buildNumber다
expo.version은 말그대로 이 프로젝트의 버전을 의미한다.
ios.buildNumber는 빌드 순번이라고 생각하면 되지만 그냥 동일하게 가져가는 것이 맘에 편하다.
※ 에러 수정 같은 큰 변화가 없을 경우 1.0.0 -> 1.0.1
※ 어느정도 변경이 된 경우 1.0.0 -> 1.1.0
※ 리뉴얼 같이 큰 변화가 있을 경우 1.0.0 -> 2.0.0
ios 부분을 보면 여러가지 프로퍼티가 있다.
bundleIdentifier는 번들을 식별하는 것으로 통상 url을 뒤집어서 사용한다.
ex) naver.com => com.naver
supportTablet은 아이패드 지원여부
infoPlist는 권한 관리하는 것인데 이는 나중에 따로 정리를 해야 될 거 같다.
우선 빌드를 터미널에서 eas build --platform ios
라고 입력 해줍니다.
무조건 첫빌드이기 때문에 에러가 발생할 것이다.
eas에서 ios에서 필요한 인증서를 알아서 관리해준다.
이제 expo.dev와 apple develop으로 이동해서 설정을 해줘야 한다.
애플 개발자 소유자 계정으로 로그인 해준다.
https://developer.apple.com/account/resources/certificates/list
Expo.dev에서
생성해서 들어가주면
보이는데 이 부분을 추가 해 준다.
PushKey
의 경우는 자동 생성되고 App Store Connect API Key
부분을 추가해주면 된다.
Apple Development에 들어가서(우선 개발자 계정이 있어야 함)
사용자 및 액세스 부분을 클릭해서 들어가서
키 부분을 클릭하고
활성화 됨 옆에 + 버튼을 눌러서 키를 하나 생성해준다.
이 후 API키를 다운로드 해주고 바로 위에 있는 Issuer ID를 확인 해 준다.
이 때 API키는 한 번 밖에 다운로드가 되지 않으니 주의한다.
다 완료가 되었으면 Expo.dev로 이동해서
Credentials - IOS 부분을 클릭하면 자동적으로 만들어진 키에 APP ID를 추가해 준다.
하단에 Sevice Credentials로 가서 App Store Connect API Key를 들어가서
ASC API Key File에서는 다운받은 파일을 업로드 해주고
Issuer ID에는 복사한 Issuer ID를 입력하고
Key Identifier에는 키 ID부분을 입력해서 생성하면 App store와 eas가 연결이 되었다.
vs코드에서 expo-credentials-ios Bundle Identifier
로도 작성 가능하다.
vs코드에서 eas submit -p ios
명령어를 입력하면 방금 빌드한 버전을 제출할 수 있고 애플 개발자에 들어가서 testFlight에서 확인할 수 있다.
가. expo-credentials-ios 삭제
나. developer.apple.com - 계정 - Certificates, Identifiers & Profiles - 인증서(영문) - Certificates - Profiles - Keys(Expo Push Notifications Key) 삭제
다. https://appstoreconnect.apple.com/access/api 에서 활성화된 app store Connect API 전부 삭제 후 재생성
라. expo-credentials-ios Bundle Identifier 생성 후 하단 App Store Connect API Key 작성
즉 모두 삭제하고 처음부터 다시 하면 된다~
참고 많이 했습니다. 감사합니다!