ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 앱 배포 스크립트 작성하기
    Dev 2023. 5. 12. 20:41

    안녕하세요 :)

    요즘 앱 배포 관련 자동화 툴이나 방식이 정말 다양하지만 생각보다 관련 툴들이 복잡하다는 생각이 들었습니다

     

    이런 툴들이 결국에는 이미 존재하는 기능들을 활용하는것이기 때문에 직접 스크립트를 짤수 있을것이라고 생각을 했고 실제로 시도해본 결과 생각보다 복잡하지 않았고 오히려 fastlane 같은 툴을 사용하지 않고도 간단하게 적용을 할 수 있었습니다

     

    
    # 1. 아카이브
    xcodebuild -scheme "스킴이름" archive -archivePath "build/앱이름.xcarchive"
    
    # 2. ipa 추출
    xcodebuild -exportArchive -archivePath "build/앱이름.xcarchive" -exportOptionsPlist exportOptions.plist -exportPath "build"
    
    # 3. Crashlytics dSYM 업로드
    # 라이브러리에서 제공해주는 upload-symbols 실행 파일 사용
    ./upload-symbols -gsp source/App/GoogleService-Info.plist -p ios build/앱이름.xcarchive/dSYMs
    
    # 4. 빌드 업로드 Application Loader tool
    # EMAIL은 애플 개발자 계정 이메일 rhkrthdud7@gmail.com와 같은 형태
    # PASSWORD는 애플 개발자 계정 앱 비밀번호를 별도로 생성 xxxx-xxxx-xxxx-xxxx와 같은 형태
    xcrun altool --upload-app --type ios --file "build/앱이름.ipa" --username $EMAIL --password $PASSWORD
    
    # 5. 빌드 폴더 정리
    rm -rf "build"

    실제 배포를 위해 사용되는 명령어들은 1, 2, 4번이고 3번은 현재 앱에서 Firebase Crashlytics를 사용하고 있기 때문에 선택사항입니다

    Xcode에서 수동으로 빌드를 배포하는것 처럼 아카이브를 하고 앱스토어 배포를 위한 ipa 추출을 한 뒤에 업로드하는 작업입니다

     

    이 작업을 하면서 가장 마음에 들었던 부분은

    1. 별도 third-party 툴을 사용할 필요가 없다는 점

    2. 팀원 관리를 match 같은 기능을 활용해서 불필요한 인증서 절차를 추가할 필요가 없다는 점 (변수로 이메일 비밀번호 설정)

    3. 원하는대로 스크립트를 변경하거나 새로운 로직을 추가할 수 있다는 점

    4. 굉장히 간결하다는 점

     

    오늘도 삽질을 통해 새로운 것을 알아가게 되서 무엇보다 성공을 해서 기분이 좋네요

    다음에는 또 다른 삽질을 정리해보도록 하겠습니다

    감사합니다!

    'Dev' 카테고리의 다른 글

    Github Action으로 Testflight 배포 자동화하기  (0) 2022.11.08

    댓글

Designed by Tistory.