Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Xcode
- 스위프트
- Clean Code
- Human interface guide
- 리펙토링
- rxswift
- RxCocoa
- uitableview
- collectionview
- HIG
- combine
- tableView
- SWIFT
- UICollectionView
- clean architecture
- Protocol
- swift documentation
- Refactoring
- UITextView
- ios
- ribs
- MVVM
- swiftUI
- Observable
- 클린 코드
- 리펙터링
- uiscrollview
- 리팩토링
- map
- 애니메이션
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[fastlane] 1. fastlane이란 본문
1. fastlane이란?
3. fastlane match (certificate, provisioning profile 정보를 git에 저장)
4. fastlane build_app (빌드, Firebase에 배포)
5. fastlane 앱 스토어에 배포 (App Store Connect)
6. fastlane register devices, 디바이스 정보(UDID, Name) Apple Developer에 등록 방법 (register_devices)
*7. fastlane 총 정리 및 phase별 configuration 설정, 환경변수 설정
*8. fastlane과 Bitrise를 이용한 자동 배포 구축 방법
* bundler를 이용하여 cocoapods사용 시 설명은 메인 프로젝트와 여러개의 프레임워크로 이루어진 .workspace프로젝트 대상으로 사용하고 있으므로 먼저 참고: ios-development.tistory.com/217
cf) fastlane 환경 변수 (.env.default) 사용하여 가장 단순한 match 사용 방법
fastlane이란
- ruby 기반 클라이언트 자동 빌드 오픈소스 라이브러리
iOS 배포 과정 (아래 작업을 fastlane하나로 CI / CD 가능)
- info.plist에서 버전과 빌드 올리는 작업
- 타겟이 여러 개인 경우, 모든 타겟이 버전과 빌드가 동일한지 체크
- 빌드
- 3인 이상의 개발자가 동시에 개발하는 경우, 1년에 한 번 씩 certificate, provisioning profile을 발급받고 공유
- archive를 누른 후 끝날 때까지 대기
- archive가 완료되면 배포 버튼 누르고, 배포가 될 때 까지 대기
- 노티
fastlane 기능
- match: certificate와 provisioning profile을 생성 및 유지, git 레포지토리에 저장하여 동기화
- gym: iOS 어플리케이션을 빌드하고 사이닝
- deliver: 스크린샷, metaData(앱스토어에 앱을 올릴 때 필요한 데이터) 및 앱 번들 관리, 앱스토에 있는 앱을 업로드
fastlane설치
*참고: docs.fastlane.tools/getting-started/ios/setup/#getting-started-with-fastlane-for-ios
- Xcode 커맨드 라인 툴 설치
xcode-select --install
- fastlane 추가
$ fastlane init
- Gemfile, Gemfile.lock: podfile과 podfile.lock이 있듯이, ruby의 번들이 gemfile에 적혀져있는 내용을 보고(버전관리) 실행하기 위함
Appfile 의미
- fastlane은 Appfile에 기입된 내용을 보고 환경을 세팅한 후 Fastfile을 참고하여 특정 기능을 수행하도록 진행
- 만약 fastfile에서 인증서를 갱신하는 코드가 있을 때, alpha, beta, release인지 알지 못하는데 밑의 default 번들 ID값으로 지정
- app_identifier() 부분에 bundle id를 배열로 다수 넣을 수 있지만, 다수를 넣으면 fastlane match 시 다수가 한꺼번에 실행되므로 지저분해지는 현상 발생
- for_lane이라는 함수를 통해 fastfile과 동일한 이름을 가진 lane에 bundleID를 세팅할 수 있는 기능 존재
- Appfile에 default bundle id, apple id, team id 정의
# default 번들 ID
app_identifier("com.jake.Kimp.alpha")
# Your Apple email address
apple_id("palatable7@naver.com")
# Developer Portal Team ID
team_id("SS7U83UJNK")
fastfile의 의미
- fastlane의 기능들을 lane으로 정의한 후 그 lane을 실행시키면 인증서 관리, firebase배포, appstore에 업로드하는 기능이 존재
'iOS 앱 배포와 출시' 카테고리의 다른 글
Comments