Fastlane을 활용하면 CI/CD 환경을 구축하고 자동화된 환경에서 편리하게 작업할 수 있다.
앱을 릴리즈하거나 TestFlight에 올릴 때 버전이이 필요한데 원래는 이것을 직접 Target->General에서 바꾸거나 info.plist에서 입력을 해줘야 하지만 fastlane을 활용하면 명령어 한줄로 자동 세팅이 가능하다.
fastlane 설치와 기초 세팅은 되어 있다고 가정합니다.
Fastfile
default_platform(:ios)
platform :ios do
desc "Set Marketing and Build version"
lane :set_version do |version|
increment_version_number(
version_number: version[:version],
xcodeproj: "./Runnect-iOS.xcodeproj"
)
increment_build_number(
build_number: Time.new.strftime("%Y.%m%d.%H%M"), # 2023.0703.2100
xcodeproj: "./Runnect-iOS.xcodeproj"
)
end
end
Fastfile에 위와 같이 lane 명령어를 작성한다.
xcodeproj 파라미터에는 버전을 설정할 xocdeproj 파일 경로를 적으면 된다.
incremental_version_number는 fastlane에서 제공하는 버전 설정 함수이다.
사용법
fastlane set_version version:1.2.8
version: 뒤에 원하는 버전을 넣으면 된다.
build_number는 현재 시간이 yyyy.MMdd.HHmm 형식으로 들어간다.
동작이 잘 안될 때
만약 동일하게 실행을 했지만 실제 프로젝트 info.plist에 반영이 안되어 있다면 다음과 같이 세팅을 해서 해결을 시도해보자!
https://developer.apple.com/library/archive/qa/qa1827/_index.html
이 링크에서 요구하는 것 처럼 Build Settings에서 Current Project Version에 숫자를 넣고 Versioning System을 Apple Generic으로 설정한다.
info에 build version들을 1.0으로 설정한다.
만약 여기까지 하고 실행했는데 안된다면
info를 Xcode가 자동으로 계속 생성을 해서 fastlane에서 info를 수정한 것이 반영이 안되는 것일 수 있다.
Build Settings -> Packaging -> Generate info.plist File을 No로 설정한다.
실행 결과
터미널에 fastlane set_version version:2.1.5 를 실행했을 때 결과입니다!
info.plist에 Bundle version string (short)는 2.1.3으로 Bundle version은 현재 시각으로 잘 들어간 모습 👍
'iOS > 개발' 카테고리의 다른 글
[iOS] 프로젝트 개발 환경 세팅 자동화 with fastlane, Makefile (0) | 2023.08.07 |
---|---|
[Swift] iOS 네이버 지도 SDK - 지도 뷰 커스텀 (3) | 2023.07.12 |
Swift Moya에 Interceptor 적용하여 자동로그인(토큰 갱신) 구현하기 (5) | 2023.04.08 |
Swift SupaBase Auth 비밀번호 초기화 + 변경 (0) | 2023.03.28 |
Swift SupaBase SDK로 Storage에 이미지 업로드 (0) | 2023.03.14 |
댓글