지금 회사에서 디자인이 나오기전까지 일주일정도의 개발 여유 시간을 주셨다.
일주일 동안 fastlane 과 테스트코드를 적용한다고 말씀드리니, 흔쾌히 하도록 해주셨다.
안해본것들을 해보고 검증하는 시간을 주는 회사가 개발자 입장에서는 참 좋다.
일단 fastlane 을 설치해준다. 나는 homebrew를 선호하기에,
brew install fastlane
로 설치를 해준다.
현재 프로젝트 root 에서
cd ios
fastlane init
를 하면
터미널에서 fastlane을 어떻게 이용할지에 대해서 물어본다.
테스트플라이트에 업로드 후, 배포를 할예정이기에, 2번을 선택해주면
다음엔 스키마 선택이 나온다.
환경에 따라 테스트를 위해 스키마를 dev / pro 로 나누어 놓았는데, 테스트 플라이트에 올려서 테스트할 것은 pro 환경이기에
해당 스키마를 선택해준다.
애플 개발자계정과 비밀번호를 입력하고 나면
이런 파일 구조가 생긴다. (.env.default 는 제외)
fastlane 밑에 .env.default 를 만들고 애플 개발자계정에서 앱키를 발급받은 값을 넣어준다
Fastfile파일로 이동하면
파일이 있다.
해당 파일에서 자동으로 버전을 업데이트 해주고싶다면
default_platform(:ios)
platform :ios do
def updateVersion(options)
if options[:version]
version = options[:version]
else
version = prompt(text: "버전을 입력해주세요 (ex 1.0.0) : ")
end
re = /\d+.\d+.\d+/
versionNum = version[re, 0]
if (versionNum)
increment_version_number(
version_number: versionNum
)
elsif (version == 'major' || version == 'minor' || version == 'patch')
increment_version_number(
bump_type: version
)
elsif (version == 'maintain')
else
UI.user_error!("[ERROR] Wrong version!!!!!!")
end
end
desc "Push a new beta build to TestFlight"
lane :beta do |options|
cert
sigh(force: true)
updateVersion(options)
increment_build_number(xcodeproj: "myApp.xcodeproj")
build_app(workspace: "myApp.xcworkspace", scheme: "myAppScheme")
upload_to_testflight
end
end
해당 updateVersion 이라는 함수를 사용해주면되는데
나는 안드로이드 / ios 버전을 맞추는것을 좋아하기에, 빌드 버전은 수동으로 맞출 예정이라 생략했다.
마지막으로 package.json에
fastlane 배포 명령어를 넣어주면 끝.
yarn fastlane:ios 를 통해 현재 버전을 testflight 로 업데이트할수있다.
제일 좋은것은 archive, upload, testflight의 수출관리규정을 수동으로 하지 않아도된다는점
'ReactNative' 카테고리의 다른 글
[ React Native ] react-native fastlane android 30분만에 끝내기 (2) | 2023.09.25 |
---|---|
[ React Native ] error :: PushHash: Error: Duplicate resources (0) | 2023.09.25 |
[ React Native ] 패키지 로컬 이미지를 사용하고 싶은데, uri 타입으로만 입력해야할때 (0) | 2023.09.19 |
[ React Native ] swipe detection hook (0) | 2023.09.18 |
[ React Native] error :: Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt (0) | 2023.09.18 |