-
반응형
이번에 Firebase distribution 셋업하면서 만날 수 있는 모든 에러를 만난 것 같다 .. 😇이번에 제대로 정리하고 다음부턴 삽질 고만 해야지
🔥목표
사실 팀이 작을때는 Testflight 만으로 충분 할 때도 있다. 그렇지만 Fastlane Firbase Distribution 의 좋은 점은 다음과 같다.
✔️Android & iOS 함께 배포하는 것이 가능하다.
✔️배포시간이 짧다 ( Testflight는 바이너리 검증시간 때문에 오래걸림)
✔️Testflight의 경우 올릴때 마다 buildNumber가 올라가야 해서 불필요하게 버전이 올라가는 것을 막을 수 있다.
Fastlane 명령어 Firebase Distribution을 통해서 배포 해보자.
🛠 Fastlane & Firebase setup
일단 Fastlane과 Firebase 는 기본적으로 셋업 되어 있다고 가정합니다.
공식문서: firebase.google.com/docs/app-distribution/ios/distribute-fastlane?hl=ko
아래 명령어를 통해 Firebase Distribution 설정을 진행할 수 있다.
$ fastlane add_plugin firebase_app_distribution
📝 Firebase 인증
Fastlane으로 앱을 빌드하고 마지막에 firebase에 앱을 업로드 해야 하는데 이때 계정 인증을 해야 한다. 팀원이 여러명인경우 Service Account 라는 것을 만들어서 공용으로 사용해도 좋지만, 몇명 안쓸겨면 직접 기기에서 로그인 해 주는 것이 편하다.
다음 명령어로 Firebase 에 로그인 한다.
$ firebase login
그럼 브라우저에서 열수 있는 인증링크가 뜨고, 이 화면에서 Firebase에 연결된 Google 계정에 로그인 한 후 결과 코드를 복사해서 커맨드라인에 넣는다.
🥑 Fastfile 설정 및 배포
이제 Fastfile 의 제일 마지막에 firebase_app_distribution 블록을 추가한다.
Firebase Distribution이 포함된 Fastfile 참고
########################################## ########## Firebase Distribution ######### ########################################## buildDir = "./build" desc "Firebase QA용 BETA 빌드 " lane :staging do match(type: "adhoc", app_identifier: "com.remocle") # 코코아팟 업데이트 cocoapods( repo_update: true, use_bundle_exec: false ) build_app( scheme: "remocle staging", configuration: "Staging", output_directory: buildDir, export_method:"ad-hoc", # uncomment this for detailed build error #xcargs: "-verbose" ) firebase end lane :firebase do firebase_app_distribution( app: "your_firebase_app_id", groups: "beta-tester", ipa_path: buildDir + "/remocle.ipa", #debug: true ) end
💥 Trouble Shooting
그런데 잘 진행되다가 계속 마지막 distribution에서 에러가 발생.
{ error: { code: 401, message: "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", status: "UNAUTHENTICATED" } }
firebase_app_distribution에 debug: true 옵션을 주면 자세한 에러로그를 볼 수 있다.
App Distribution could not find your app. Make sure to onboard your app by pressing the "Get started" button on the App Distribution page in the Firebase console: https://console.firebase.google.com/project/_/appdistribution
Firebase Console로 가서 'Get Started' 라는 버튼을 누르라는 것인데, 아무리 제대로 눌러도 계속 저 에러가 뜨는 것이다.
아니 나 Get Started 눌렀다구 !!!!! 진짜 여기저기 다 찾아보고 이 글을 본 순간 눈이 번쩍 뜨였다.
그래 프로젝트가 한개가 아니었던 것이다 .... 드롭다운 메뉴를 눌러서 자신이 원하는 프로젝트 를 활성화 하면 다시 제대로 동작한다. 홀리!
반응형'개발' 카테고리의 다른 글
[Fastlane] 인증서 싱크 오류 해결 (nuke) (0) 2021.05.08 [iOS/Swift] Universal link 적용하기 (2) 2021.04.24 [Firebase/Crashlytics] Bitcode 때문에 dSYM 업로드 안되는 이슈 (0) 2021.04.07 [iOS/Swift] Multiselection 되는 Photo picker Library 선택하기 (0) 2021.04.07 [Swift] AppStore 리뷰 팝업 추가하기 (3) 2021.03.04 댓글