Expo로 개발한 React Native 앱 배포를 위한 App Signing 알아보기

nawnoes·2020년 12월 21일
0

App Signing

Expo 공식문서 App Signing 참고

Expo에서는 iOS 및 Android를 위한 앱 서명과정을 자동화 하지만 나만의 앱서명을 사용할수 있도록 사용할 수 있다.

이 문서에서는 각 플랫폼들이 필요로하는 자격증명들을 살펴본다.

iOS

세가지 주요한 자격증명이 있다. 아래 세가지 자격증명들은 모두 엑스포가 다루거나 개발자 본인이 모든것을 다루는 2가지 방법이 있다.

  1. Distribution Certificate
  2. Provisioning Profiles
  3. Push Notification Keys

사용자는 아래 명령을 통해 모든 자격 증명을 관리, 확인할 수 있다.

expo credentials:manager

배포 인증서, Distribution Certificate

배포인증서는 특정한 앱이 아닌 개발자에 대한 것. Apple 개발자 계정과 연결된 배포 인증서는 하나만 있을 수 있으며, 모든 앱에 사용된다.

  • 인증서가 만료되어도 운영중인 앱은 영향 받지 않는다.
  • 새앱을 업로드하거나, 기존앱을 업데이트할 때는 새 인증서를 생성해야한다.

푸시 알람 키, Push Notification Keys

애플 푸시 알람키의 경우 APN 키로 약칭 되며, 푸시 알람을 주고 받는데 필요하다. 기본적으로 엑스포 앱을 빌드하는 경우 APN key를 필요로 하게 되며, 이것은 quick OTA update를 통해 개발자의 앱이 새로 전체 바이너리를 제출하지 않아도 푸시 알람을 사용할 수 있게 한다.

  • 애플 개발자 계정당 최대로 2개의 푸시 알림키를 사용 할 수 있다.
  • APN key를 취소하면 관련된 모든 앱들을 푸시 알람을 받을 수 없다.
  • 새로운 APN key를 등록해도 사용자의 Expo Push Token을 바꾸지는 않는다.

프로비저닝 프로필, Provisioning Profiles

앱은 각 앱별로 프로비저닝 프로필이 존재. 12개월 뒤에 만료되지만 프로덕션 앱에는 영향을 주지 않는다.

요약

자격증명 초기화

공식문서 참조..

Android

구글은 앱이 업데이트 및 설치 되기 전 모든 안드로이드 앱에 디지털 서명을 필요로 한다. 근래에는 구글 플레이스토어를 통해 앱 서명을 진행할 수 있으며 쉽게, 증명서 업로드와 함께 서명된 APK를 업로드 할 수 있다.

구글 플레이 스토어는 자동으로 app signing cerificate를 대체한다.

엑스포에서 안드로이드 앱을 빌드하는 관점에서 증명서를 업로드 하는것과 앱서명키를 사용하는 것은 차이가 없다. expo build: android는 동일하게 서명된 APK를 생성할 것이다.

보다 자세한 내용은 이곳

구글 플레이 스토어에서의 앱서명

처음 앱을 올리는 경우 "Google is protecting your app signing key" 와 같은 메세지가 나오지만 그냥 "Continue" 하면 됨

안드로이드에서 중요한건 KeyStore를 분실 및 잃어버린 경우에는 구글 지원팀에 반드시 문의해야 한다!

0개의 댓글