Fastlane - Beta Deployment
https://docs.fastlane.tools/getting-started/ios/beta-deployment/#uploading-your-app
fastlane으로 베타 배포를 해봅시다 💚💛💜💙
fastlane은 ruby gem 이나 brew를 이용해서 설치를 하고 프로젝트 폴더로 이동해 fastlane init 작업을 하는데요 설치하다가 아래와 같은 코드를 보게됩니다
1~4 번 중에 하나를 선택해야합니다. 일단! 2번으로 해서 베타 테스트를 올려보죠! 이 설정은 나중에 추가로 할 수 있으니 걱정안해도 됩니다!
그럼 선택한 것에 맞춰 자동으로 설치를 해줍니다.
이중인증이 되어있는 계정인 경우 이중인증 코드도 입력하게 합니다.
원래 앱 배포할 때는 developer.apple.com에서 profile, app id 를 생성하고 appstore connect에 배포할 앱을 생성해야 하는데요. 앱이 있는 지 체크하고 없으니 앱 등록해도 되냐고 물어봅니다. 사용자가 일일이 사이트에 접속하지 않아도 커맨드 창에서 앱 등록 및 배포까지 할 수 있게 해줍니다.
이런걸 이제 써봤다니.. 개인 프로젝트에도 도입해야겠다는 생각이 듭니다
암튼.. 신기한 fastlane!! 설치도 다 해주고 앱도 등록해주고!!! 😆😆😆😆
설치를 다 하고 나니 여러 주의 사항을 알려주고 마지막으로 새로운 fastlane setup을 하려면 fastlane beta
라고 입력하랍니다
그리고 fastlane beta upload 스크립트는 fastlane/Fastfile 파일에 작성되어 있으니 큰 세팅 없이도 바로 업로드할 수 있습니다
fastlane beta
실행 그리고..
사이닝 이슈
근데 프로젝트 세팅 후 바로 배포하려면 사이닝 이슈가 발생 해 이슈를 해결해야 업로드까지 됩니다.
fastlane에서 제공하는 사이닝은 두가지 방법이 있습니다. (각 항목의 설명은 위 링크에서 확인하세요! 여러명이 사용하는 경우 match를 추천드립니다 :))
match
cert
andsigh
저는 cert and sigh 방법을 택하기로 했는데요 사이닝을 하던 중 이런 에러가 났습니다
Your account has 2 step verification enabled
Please go to https://appleid.apple.com/account/manage
and generate an application specific password for
the iTunes Transporter, which is used to upload builds
To set the application specific password on a CI machine using
an environment variable, you can set the
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD variable
위 내용은 "앱 암호"를 사용하라는 메세지입니다. - 관련 링크 앱 암호 사용하기
fastlane에서 appstore connect에 로그인하고 앱을 올리는 일련의 과정들을 거치기 때문에 안전한 로그인을 위해 앱 암호를 생성해야합니다.
fastlane에서 사용할 앱 암호를 생성하여 터미널에 입력해주면, 정상적으로 빌드가 되고 프로세스를 진행합니다. (생각보다 꽤 걸리더라고요!)
앱이 업로드가 안된다..!
저는 ipa 빌드까지 되어있던 상태였고 new binary 를 app storeconnect에 업로드 성공했다 라고 떴는데 그 이후 작업이 되지 않던 상태였어요
[09:33:33]: Successfully uploaded the new binary to App Store Connect
[09:33:33]: If you want to skip waiting for the processing to be finished, use the `skip_waiting_for_build_processing` option
[09:33:33]: Waiting for processing on... app_id: 1482730132, app_version: 1.0, build_version: 1, platform: IOS
[09:33:33]: Read more information on why this build isn't showing up yet - https://github.com/fastlane/fastlane/issues/14997
[09:33:33]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[09:34:03]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
...
[10:21:18]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
> 결국 강제 종료해버림
결국 실패하고 이슈를 등록했습니다.
이슈 해결 😭🥰
일단 Xcode에서도 업로드가 실패하고 또 업로드 성공했는 데도 앱스토어 커넥트에는 뜨지않는 이슈가 있었습니다.
애플에서는 업로드에 실패하면 사유를 메일로 보내주는데요, 이 메일 수신자가 제가 아니라 확인이 좀 늦었습니다..
결론은 앱 아이콘이 없어서 업로드가 안되고 있던 것이었습니다 ㅎ
처음 Xcode에서 프로젝트를 만들면 앱 아이콘이 없는 프로젝트가 되는데요(격자 무늬의 앱이 생성되죠),
앱스토어 커넥트에 올리기 위해서는 앱 아이콘이 반드시 필요하기 때문에 업로드가 되지 않는 것입니다!
앱 아이콘을 만들어 넣어주었고 Xcode Archive로 먼저 테스트 해본 후에 정상적인 업로드를 확인하였고fastlane beta
명령어로 fastlane을 이용한 베타 배포까지 완료하였습니다. 제가 손으로 하는 것보다 좀 더 빠르게 진행할 수 있었어요! :)
그리고 배포 마지막 단계로 처리가 다 되면 메세지를 받을 수 있도록 처리할 수 있는데 입력하라는 데이터를 입력하긴 했지만 슬랙 메세지는 받지 못하였어요. 또 별도으ㅢ 설정이 필요한 것 같습니다.
아무튼! 커넥트에 들어가보니 테스트 준비 중 상태로 변경된 것을 확인할 수 있었습니다 👩💻👩💻👩💻
fastlane을 이용한 beta 배포도 완료!
이번에 fastlane을 해보면서 상당히 편리한 자동화툴이구나를 알게 되었어요 :)
그동안 어려운 거 아니여?!?! 했는데 그렇게 어렵지도 않더라고요..
진짜 이거 써야 귀찮은 작업도 안하게 되고! 효율도 좋고! 짱짱!
혹시 안해보신 분이 있다면 개인 플젝에 도입 해보세요
어렵지 않게 할 수 있답니다 그리고 회사 프로젝트에 도입하면? 당신은 짱입니다.
'Programming > iOS' 카테고리의 다른 글
[iOS/Swift5] Universal Links 예제 프로젝트 (2) | 2020.04.16 |
---|---|
Fastlane 으로 iOS 배포를 쉽게 하자! - Fastlane with Slack (0) | 2019.10.27 |
Fastlane 으로 iOS 배포를 쉽게 하자! - Screenshots (0) | 2019.10.16 |
Fastlane 으로 iOS 배포를 쉽게 하자! - Fastlane 이란? (0) | 2019.10.13 |
[Swift] Swift Accessibility (접근성) - VoiceOver (0) | 2019.07.13 |