본문 바로가기
IOS App Programming/IOS 연습

[iOS / Firebase] Firebase AppDistribution 을 통해 Test App 을 배포해보자 (1/2)

by B_Tori 2024. 7. 17.

현재 진행 중인 프로젝트에서 테스트 앱을 배포하는 도구로 Firebase AppDistribution 사용하기로 하였다.

이전에는 TestFlight 만 써왔는데 안드로이드 개발과 동시에 진행되는 프로젝트이기에 두 플랫폼 모두 동일한 배포앱으로 배포하기 위해 Firebase AppDistribution를 사용하기로 결정했다.

 

물론 iOS 앱만 개발한다면 애플의 변태 같은 애플 생태계 호환성 때문에 TestFlight가 장점이 많을지도 모르지만,

현재 프로젝트 내에서는 Firebase AppDistribution을 사용하는 것이 훨씬 간단하고 장점이 많아 보였다.

 

우선 장단점을 정리해보자면

장점

  1. 플랫폼 독립적
    • iOS와 Android 모두 지원하므로, 크로스 플랫폼 앱 테스트에 유리
    • Google 계정을 사용하여 접근 가능
  2. 쉬운 배포
    • 빠르고 간편하게 앱을 배포할 수 있으며, 이메일을 통해 테스터를 초대하고 배포 링크를 공유하여 이를 통해 다운로드
    • 심사 과정이 없기 때문에 빌드를 더 빠르게 배포 가능
  3. 통합 서비스:
    • Firebase의 다른 서비스(예: Crashlytics, Analytics)와 쉽게 통합할 수 있어 다양한 테스트 및 분석 도구와 함께 활용 가능
  4. 유연한 테스터 관리:
    • 테스터 그룹을 쉽게 만들고 관리할 수 있으며, 각 그룹에 다른 버전을 배포할 수 있음 
      (그룹을 여러 개 만들어 상황에 맞춰 그룹을 지정하여 배포할 수 있다)

단점

  1. Apple 생태계와의 연동성
    • TestFlight만큼 Apple 생태계와의 통합이 잘 되어 있지 않으므로, 일부 기능은 제한적일 수 있음.
      (아직 겪어보지 않아 어떤 부분인지는 모르겠다.)
  2. 초기 설정 복잡성
    • Firebase App Distribution을 처음 설정하는 과정이 TestFlight보다 다소 복잡할 수 있으며,
      iOS의 경우 iOS 정책 상 모든 테스터 기기들에 대해서 처음 1회에 한해 실기기 테스트 기기를 등록하는 과정이 필요하다 
      -> 개인적으로 가장 크게 느껴졌던 단점이다.
      처음에 기기 등록을 하고 그 이후 다시 업로드해줘야 테스터들이 다운이 가능했다. (기기등록하면 이미 업로드한 거 다운로드할 수 있게 해 줘,,, 하지만 인증서가 이전 버전으로 포함되어 배포되어 그런 듯하다)

 

Firebase App Distribution 사용해 보기

보통 배포의 경우 번거로움을 덜기 위해 CD구축을 통해 자동화를 시켜 많이 진행하지만 우선 직접 수동으로 배포해 보는 경험도 중요할듯하여 정리해 보았다.

(그리고 아직 자동화 연결에 실패했다.. 왜 이리 어려운 걸까? 성공하면 꼭 업로드해야지)

 

우선 파이어베이스에 앱을 등록해 준 뒤 AppDistribution 메뉴로 들어가 준다.

 

시작하기를 눌러 시작하면 콘솔 페이지에 입장하게 된다.

 

우선 테스터들을 등록해 보자.

해당 페이지에서 테스터 검색창에 테스터의 gmail 주소를 입력 후 추가해 주면 된다.

그룹을 만들고 싶다면 그룹 추가 후 해당 그룹을 선택하여 테스터를 추가하면 된다.

 

Tester1이라는 그룹을 만들고 테스터 이메일을 추가하는 과정이다

밑에 목록에 해당 이메일이 뜨게 된다.

 

그럼 이제 제일 중요한 앱을 배포해 볼 시간이다.

출시버전 탭으로 들어가면 IPA를 드래그 앤 드롭하라고 나와있다.

 

IPA 파일이란 iOS 애플리케이션 패키지 파일(iOS App Store Package)의 약자로, iOS 기기에서 앱을 설치하고 실행하는 데 사용되는 파일 형식이다.

확장자는 ". ipa"로 IPA 파일은 macOS의 APP 파일과 유사하지만, iOS 장치에서 실행할 수 있도록 설계되어 있는 파일이다!

 

즉 직접 실행파일을 추출해서 올려주면 배포를 해주겠다는 이야기이다.

 

그럼 이제 이 파일을 추출하기 위해 xcode로 돌아가 xcode 메뉴에 Product -> Archive를 통해 앱의 현재 상태를 빌드하고 아카이빙 한다. 이때 실행 기기를 Any iOS Device로 설정하자. (안 그러면 오류가 날 수 있다고 한다.)

 

그렇게 빌드 후 아카이브를 하게 되면

다음 창에서 Distribution App을 클릭한다.

어디에 배포할 건지에 대해서로 현재 Firebase에 배포할 거이기 때문에 Custom을 선택해 주었다.

단순히 개발하면서 스프린트마다 개발 기능들을 테스트하도록 하는 개발 테스트용이기 때문에 디버깅으로 골라 배포하였다.

 

 

다음 단계에서는 따로 기기를 지정하는 부분이 있는데 특별한 제한 사항이 없다면 기본값인 None으로 두고 다음으로 넘어가면 된다.

그리고는 Signing 프로파일들을 어떻게 할 것인지 고르는 것인데 이거 또한 특별한 제한상황이 없다면 Automatically로 하면 알아서 맞춰해 준다.

 

이제 Export를 누르고 경로를 지정해 주면 경로에 폴더가 만들어지고 그 안에 파일들이 위치하게 된다.

우리는 저 IPA 파일을 아까 파이어베이스 콘솔에 드래그하면 된다.

다음과 같이 테스터와 릴리즈 노트를 지정해 준 뒤 배포 버튼을 누르면 된다

릴리즈 노트의 경우 선택사항이기에 안 써도 무방하다.

그러면 이제 배포가 완료되고 테스터들에게 메일이 가게 된다.

 

배포 후 테스터들 다운과 테스터 설정법은 다음 편에 정리하도록 하겠다!

댓글