기술 블로그
[rn] prebuild + fastlane 같이 사용하기 본문
반응형
expo의 장점과 eas 지출회피를 같이하기 위해 prebuild를 사용하고 있었으나
prebuild 시 ios 폴더가 초기화되는 현상 떄문에 fastlane을 적용하기 어려웠다.
- 방법 1. expo config plugin
- 방법 2. app.json 설정
위 방법들은 prebuild시 유지해야할 항목을 보존하는데 도움을 줄 순 있으나 fastlane 관련 파일을 보존하긴 어려워
prebuild와 복구 명령어를 통합하기로 했다.
- fastlane 폴더를 루트에서 백업
bash
/project-root
┣ /fastlane-template/
┃ ┣ Appfile
┃ ┗ Fastfile
2. expo prebuild 이후에 복사
bash
npx expo prebuild --clean
cp -R ../fastlane-template ios/fastlane
prebuild 후 스크립트로 자동 복구 가능
//prebuild.sh
npx expo prebuild --clean
echo "📍 Before fastlane copy: $(pwd)"
cp -R ./fastlane-template/fastlane ./ios/fastlane
echo "✅ fastlane 디렉토리 복원 완료"
cd ios
fastlane beta
echo "✅ iOS 빌드 완료"
default_platform(:ios)
platform :ios do
desc "TestFlight 업로드"
lane :beta do
# 코드사이닝 설정
automatic_code_signing(
use_automatic_signing: true,
team_id: "H4DJJ5V239",
path: "nocotine.xcodeproj"
)
increment_build_number(
# xcodeproj: "nocotine.xcodeproj"
build_number: "6" # 원하는 번호로 설정
)
build_app(
workspace: "nocotine.xcworkspace", # workspace 다시 사용
scheme: "nocotine",
export_method: "app-store",
configuration: "Release",
clean: true,
include_bitcode: false
)
upload_to_testflight(
api_key_path: "./fastlane/keyCode.json", // 본인 키 Json
skip_waiting_for_build_processing: true
)3
end
desc "수동 Archive 테스트"
lane :archive_only do
# 코드사이닝 설정
automatic_code_signing(
use_automatic_signing: true,
team_id: "team id ",// 본인 팀아이디
path: "nocotine.xcodeproj"
)
increment_build_number(
xcodeproj: "nocotine.xcodeproj"
)
gym(
workspace: "nocotine.xcworkspace", # workspace 다시 사용
scheme: "nocotine",
configuration: "Release",
clean: true,
skip_archive: false,
skip_package_ipa: true, # IPA 생성 안 함, Archive만
include_bitcode: false
)
end
end
//key.json
{
"key_id": "",
"issuer_id": "~~",// apple connect - 보안 - 통합에서 이슈어id 확인
"key": "-----BEGIN PRIVATE KEY-----\n~~~~\n-----END PRIVATE KEY-----", //각 줄바꿈에 \n 삽입 // 관리자로 키 생성해야함
"duration": 1200,
"in_house": false
}
반응형
'프론트엔드' 카테고리의 다른 글
expo prebuild로 프로덕션 빌드하기 (0) | 2025.07.25 |
---|---|
expo - ios 빌드 및 출시 (0) | 2025.07.25 |
프론트엔드에서의 경로 유지 멀티파일 전송과 성능 비교에 관하여 (0) | 2024.08.26 |
react-native android 14 정확한 알람 대응 (0) | 2024.01.13 |
[TIL] 에러코드 (0) | 2023.10.20 |
Comments