내용으로 건너뛰기

iOS 빌드

iOS 앱을 TestFlight 및 App Store에 제출하는 데 사용할 Capgo의 전용 Mac 인프라를 사용하여 빌드하고 제출합니다.

학습할 내용

학습할 내용
  • Capgo Native Build를 통해 앱을 업로드하는 방법
  • Capgo Native Build를 위한 인증서를 구성하는 방법
  • Capgo (run if not)
  • 애플리케이션은 이미 Capgo (실행) bunx @capgo/cli@latest app add 만약에 아니라면
  • Mac이 필요하지 않습니다: Capgo iOS 앱을 빌드하고 서명하는 클라우드 서비스를 사용하여 macOS, Windows, Linux에서 이 작업을 수행할 수 있습니다.
  • Apple 개발자 계정 ($99/년) (Apple 개발자 계정에 관리자 또는 소유권이 있는 권한이 있어야 함)
  • 앱이 Xcode에서 로컬로 빌드되거나 Capgo 빌드와 함께 빌드되도록 성공적으로 빌드되어야 합니다.
  • Capacitor 앱
  • 앱에 구성된 아이콘. 아이콘 없이 앱을 앱 스토어에 업로드할 수 없습니다.

애플 계정에 두 단계 인증을 활성화하십시오.

  • 애플 계정과 팀이 준비되기 전에 인증서를 설정하거나 첫 번째 테스트 플라이트 업로드를 트리거하기 전에:
  • 적절한 회원 유형을 선택하세요:
    • 개인/개인 사업자: 판매자 이름이 애플 스토어에서 법적 개인 이름이 됩니다.
    • 기업: 법적 엔터티, D-U-N-S 번호, 공공 회사 웹사이트, 회사 도메인에 대한 작업 이메일, 그리고 애플의 계약에 결합할 수 있는 권한이 있는 사람을 필요로 합니다.
  • Apple Developer와 App Store Connect에 접근할 수 있는 계정을 사용하세요. 인증서, 앱 레코드, API 키, 그리고 테스트 플라이트를 위해.
  • 최종 번들 ID를 일찍 확정하세요. 나중에 변경하면 일반적으로 앱 스토어 설정을 다시 시작해야 합니다.
  • 앱 스토어 연결 항목을 App Review 전에 계획하세요: 지원 URL, 개인 정보 정책 URL, 연령 등급, 스크린샷, 수출 준수, 그리고 App Review 연락처 정보.
애플 개발자 등록을 시작하세요 웹에서 애플 개발자 등록을 계속하세요 애플 개발자 엔터티 유형을 선택하세요 등록 후 앱 스토어 연결

앱을 Capgo으로 빌드하기 전에, 우리는 먼저 앱을 설정하고, 첫 번째 테스트 플라이트 빌드를 수동으로 만들야 합니다. 수동 빌드를 하는 것은 몇 가지 이점이 있습니다:

  • 앱 __CAPGO_KEEP_0__과 관련된 빌드 프로세스와 관련된 문제를 해결할 수 있습니다.
  • 앱 __CAPGO_KEEP_0__을 빌드하기 전에, 우리는 먼저 앱을 설정해야 합니다.
  • 앱 code을 빌드하기 전에, 우리는 앱 스토어 레코드를 생성해야 합니다.

애플리케이션을 시작하기 전에, 로컬 머신에 배포 인증서를 설치해야 합니다. 이것은 매우 복잡한 과정입니다. 하지만 아래에서 설명하겠습니다.

배포 인증서 설정

배포 인증서 설정
  1. Xcode를 열어주세요

  2. 클릭하세요 Xcode -> Settings... 또는 Cmd + ,

    Xcode 설정

  3. 로 가세요 Accounts Xcode 계정 탭으로 이동하세요

  4. Apple Developer 계정에 추가된 Apple 계정을 찾으세요 선택한 Apple 계정

  5. 앱을 배포할 팀을 찾으세요 Xcode 팀 찾기

  6. 클릭하여 Manage Certificates... 버튼 Xcode 인증서 관리

  7. 배포 인증서 목록에서 배포 인증서가 보이도록 확인하세요 Xcode 배포 인증서

  8. 보이지 않으면 새로운 인증서를 생성해야 합니다

    1. 클릭하여 + 버튼을 클릭하고 Apple Distribution Xcode 인증서 추가
    2. 인증서가 자동으로 생성됩니다. 목록에서 확인할 수 있습니다. 이전 단계를 확인하여 인증서가 생성되었는지 확인하세요.

배포 인증서가 설치되면 빌드 프로세스를 시작할 수 있습니다.

테스트 플라이트로 수동 빌드

테스트 플라이트로 수동 빌드
  1. Xcode에서 앱을 열어보세요

    실행 bunx cap open ios 앱을 Xcode에서 열어보세요.

  2. 수동 빌드 archive 버튼

    Xcode 도구栏에서 버튼을 클릭하세요. product -> archive 버튼을 클릭하세요.

    Xcode 도구栏

  3. 작업을 완료하기까지 기다리세요

  4. 버튼을 클릭하세요 Distribute App 버튼

    Xcode 배포 버튼

  5. 배포 방법으로 TestFlight Internal Only 테스트 플라이트 내부 배포 방법 Distribute 버튼

    앱 레코드를 설정하세요

  6. 다음 필드를 입력하세요:

    이름: 앱 이름 - 앱 스토어에서 표시됩니다

    1. 앱 이름
    2. SKU - 앱의 SKU - 앱을 App Store에서 식별하기 위해 사용하는 값
    3. 기본 언어 - 앱의 기본 언어

    그 다음, next 버튼

    Xcode TestFlight configure 앱 기록

  7. 앱 기록 생성이 실패하면 창을 닫고 앱을 다시 압축해 보세요.

  8. 업로드를 기다려 주세요

  9. 모든 것이 잘 되었으면 다음 화면을 볼 수 있어야 합니다 Xcode TestFlight 업로드 완료

  10. 버튼 Done 버튼

모든 것이 잘 되었으면 TestFlight에서 앱을 볼 수 있을 것처럼 생각할 수 있지만, 여전히 몇 가지 작업이 남아 있습니다.

  1. 자신을 TestFlight에 추가하세요
  2. 수출 규정 준수를 완료하여 빌드가 테스트 가능하도록 하세요
  3. 지원 URL, 개인 정보 보호 정책 URL, 연령 등 App Store Connect의 필수 메타데이터를 입력하세요
  4. 실제로 지원하는 기기와 일치하는 스크린샷을 준비하세요
  5. 제품 제출 전에 App Review 연락처와 테스트 자격증을 추가하세요

첫 번째 단계로 시작해 보겠습니다:

TestFlight에 자신을 추가하는 것입니다

TestFlight에 자신을 추가하는
  1. iOS Builder 애플 스토어 연결 페이지 App Store Connect 로그인 페이지

  2. 애플 개발자 계정으로 로그인하세요

  3. 앱 레코드를 만들 때 사용한 팀을 선택하세요. 단일 개발자 계정만 있는 경우 이 단계를 건너뛸 수 있습니다. 앱 스토어 연결 팀 선택

  4. 버튼 Apps 앱 스토어 연결 앱 버튼 앱을 찾고 이전 단계에서 만든 앱을 클릭하세요

  5. 앱 스토어 연결 앱 선택 테스트 플라이트 버튼

  6. 버튼 TestFlight 앱 스토어 연결 앱 버튼 앱 스토어 연결 테스트 플라이트 버튼

  7. 버튼 Internal Testers plus 버튼 App Store Connect 내부 테스터 플러스 버튼

  8. 새 그룹 만들기

    그룹 이름을 '내부'이라고 지명하는 것을 좋아합니다. 원하는 이름으로 지명할 수 있습니다.

    App Store Connect 새로운 그룹 만들기

  9. 클릭하세요 Invite testers 버튼 App Store Connect 테스터 초대 버튼

  10. 그룹에 자신을 추가하세요

    자신의 이름 옆에 체크박스를 선택하세요. (자신을 확인하려면 페이지를 새로 고쳐야 할 수 있습니다) 그 다음, Add 버튼을 클릭하세요.

    App Store Connect 테스터 초대 체크박스

  11. 그룹에 가입되었는지 확인하세요

    현재, 자신이 그룹에 포함되어야 합니다.

    앱 스토어 연결 테스터 확인

축하합니다 🎉 TestFlight에 자신을 추가했습니다. 이제 Capgo Native Build을 구성하기 전에 마지막으로 하나의 작업이 남았습니다.

규정 준수 정보 설정

규정 준수 정보 설정

애플이 자신의 앱이 표준 암호화 알고리즘을 사용하지 않는다는 것을 약속해야 합니다. 앱이 표준 암호화 알고리즘을 사용하지 않는 경우, 사용자 지정 알고리즘을 사용하는 경우, 나는 다음을 읽는 것을 추천합니다. 애플 문서 표준 암호화 알고리즘을 사용하지 않는 경우, 앱을 빌드할 때마다 이 작업을 수동으로 수행할 수 있습니다.

  1. 앱 빌드 시마다 이 작업을 수동으로 수행할 수 있습니다.
  2. plist 파일을 자동으로 설정하여 이 값을 설정할 수 있습니다. false.

이 방법을 사용해 보겠습니다.

  1. 이전 섹션의 모든 단계를 따라 App Store Connect의 TestFlight 섹션을 찾으세요.

  2. 클릭하세요. Builds -> iOS App Store Connect iOS 빌드 버튼

  3. 미흡한 준수 정보가 있는 빌드를 찾고 클릭하세요. Manage App Store Connect 빌드 관리

  4. 앱에 가장 적합한 옵션을 선택하세요.

    나는 none그러나 당신의 경우에는 다를 수 있습니다. 그 후에 저장하세요.

    App Store Connect 준수 정보 저장

  5. 앱이 이제 ready to test

    App Store Connect 테스트 준비

두 번째 경우에 대한 단계는 다음과 같습니다.

  1. 앱을 열기 Info.plist 파일

  2. 다음 키를 추가하세요:

    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
  3. 파일을 저장

테스트 플라이트 앱을 설치하고 초대장을 수락

테스트 플라이트 앱 설치 및 초대장 수락

이제 ALMOST iOS 앱을 TestFlight에서 테스트할 준비가 거의 다되었습니다. 테스트하기 전에 다음 단계를 수행해야 합니다:

  1. 다운로드 TestFlight 앱 iOS/iPadOS 기기에서 앱 스토어에서 TestFlight 앱을 다운로드하세요
  2. 테스트 앱에 대한 초대장을 수락하세요

테스트 앱을 설치하는 방법에 대한 세부 정보는 생략하겠습니다. 앱을 설치하는 방법에 대해 불확실한 경우 Google은 설치 방법에 대한 훌륭한 지침을 제공하고 있습니다.

Apple에서 테스트 앱에 대한 초대장을 수락하기 위한 이메일을 받게 됩니다.

  1. Apple에서 초대장을 수락하기 위한 이메일을 열어보세요

  2. 초대장을 수락하기 위한 버튼 View in TestFlight button button

  3. iOS 빌더 Install 버튼 테스트 플라이트 설치 버튼

  4. 앱을 장치에 설치하세요

    Xcode를 사용하여 앱을 이전에 설치한 경우, 다음 화면을 볼 수 있습니다. 테스트 플라이트 설치 앱 버튼을 클릭하세요. install 테스트 플라이트 설치 앱 앱을 설치 기다리세요

  5. 버튼을 클릭하세요

  6. iOS 빌더 Open 축하합니다 🎉 테스트 플라이트에서 앱 테스트에 대한 초대를 수락했습니다. 이제 __CAPGO_KEEP_0__ 네이티브 빌드를 구성하여 테스트 플라이트로 앱을 제출할 수 있습니다.

Capgo 네이티브 빌드 구성

There are a few things you need to configure in Capgo Native Build to be able to build and submit your app to TestFlight. Here is a list of the things you will pass to the Capgo CLI:

매개 변수설명
--platform빌드할 플랫폼 (ios)
--apple-team-id__CAPGO_KEEP_0__ Key 파일 ( __CAPGO_KEEP_0__ Key 파일의 Key ID)
--apple-keyAPI Key의 발급자 ID.p8 file)
--apple-key-id앱 스토어 연결의 키 ID API
--apple-issuer-idfile)
--certificatefile).p12 파일)
--ios-provisioning-profile프로비전 프로파일 매핑 (bundleId=path 또는 단일 프로파일의 경로만)

예제 명령어:

터미널 창
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id YOUR_TEAM_ID \
--apple-key '/path/to/AuthKey_XXXXX.p8' \
--apple-key-id YOUR_KEY_ID \
--apple-issuer-id YOUR_ISSUER_ID \
--certificate '/path/to/certificate.p12' \
--ios-provisioning-profile '/path/to/profile.mobileprovision'

팀 ID

팀 ID

팀 ID

  1. Go to 가장 먼저 팀 ID를 찾으세요. Apple Developer Account로 가서 아래로 스크롤하세요.

  2. iOS 빌더 Team ID

    개발자 계정에서 팀 ID 위치를 찾으세요

Apple 키, Apple 키 ID 및 Apple 발급자 ID

Apple 키, Apple 키 ID 및 Apple 발급자 ID

Apple 키로 넘어가겠습니다.

  1. Go to 애플 스토어 연결 사용자 및 접근 페이지

  2. 정확한 팀을 드롭다운에서 선택하세요

    1. 상단 오른쪽 코너에 있는 이름을 클릭하세요
    2. 사용하고 싶은 팀을 클릭하세요 애플 개발자 키 팀 선택
  3. 클릭하세요 Integrations 버튼 애플 스토어 연결 통합 버튼

  4. 찾아보세요 issuer

    버튼을 클릭하여 발급자 복사 copy 애플 스토어 연결 발급자 복사 플러스 버튼을 클릭하여

  5. 애플 스토어 연결 키 추가 버튼 키 이름을 설정하고 접근 권한을 설정하고

  6. 클릭하여 App manager 애플 스토어 연결 키 추가 버튼 Generate 버튼 App Store Connect에 키 이름을 추가하고 앱 관리자에 대한 접근 권한을 설정하고 버튼을 생성하세요.

  7. 키 ID를 저장하세요.

    App Store Connect에서 키 ID를 복사하세요.

  8. 키를 다운로드하세요.

    애플 스토어 연결 다운로드 키

    애플 스토어 연결 다운로드 키 경고

축하합니다! 🎉 애플 키, 애플 키 ID 및 애플 발급자 ID를 생성했습니다.

인증서를 내보내려면 이제 준비가 되었습니다. 이 가이드의 첫 번째 단계에서 분배 인증서를 설정했습니까?

그러나 애플은 무한 지혜로, 인증서를 내보내는 방법은 그들을 만들 때와는 다르다고 결정했습니다 🙃 인증서를 설정하는 방법에 대해 알아보겠습니다:

  1. 키 체인 액세스 열기

    1. 클릭 Command + Space 검색 바를 열기
    2. 검색 Keychain Access
    3. 클릭 Keychain Access 앱
  2. 선택 login 카테고리 My Certificates 클릭 버튼

  3. 인증서를 목록에서 찾으십시오.

    인증서의 이름은 Apple Distribution: [Your Name/Company] (your team ID) Keychain Access에서 인증서 찾기

  4. 인증서 오른쪽 클릭하고 선택 Export Keychain Access에서 인증서 내보내기

  5. 인증서를 파일로 저장하십시오. .p12 파일

    1. 인증서 파일 이름을 잘 선택하세요.
    2. 파일 형식이 설정되어 있는지 확인하세요. Personal Information Exchange (.p12)
    3. 버튼을 클릭하세요. Save 버튼

    키체인 액세스 인증서 저장 대화창

  6. 비밀번호를 묻는 경우, 다음 중 하나를 선택하세요:

    • 비밀번호를 입력하지 않고 Skip을 클릭하세요. OK 비밀번호를 설정하세요: 인증서를 비밀번호로 보호하고 싶다면, 여기서 비밀번호를 설정할 수 있습니다. 비밀번호가 설정된 파일은 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__에서 완벽하게 지원됩니다. - 구성 명령을 실행할 때 비밀번호를 제공하세요.
    • 키체인 액세스 인증서 저장 비밀번호 대화창 .p12 파일들은 Capgo CLI에서 완전히 지원됩니다. 단지 CLI 비밀번호를 제공하면 됩니다. --p12-password 비밀번호를 입력하지 않고 Skip을 클릭하세요.

    인증서 비밀번호 저장 대화상자

  7. Mac에 로그인하는 비밀번호를 입력하세요.

    Mac에 로그인하는 비밀번호를 입력하세요. 그런 다음, Allow 버튼을 클릭하세요.

    인증서 저장

인증서를 성공적으로 내보내셨습니다.

인증서

인증서

Apple Developer Profiles

  1. 팀을 선택하세요. 상단 우측에 있는 이름을 클릭하세요.

  2. 인증서

    1. 인증서
    2. 클릭하여 사용할 팀을 선택하세요 애플 개발자 키 팀 선택
  3. 올바른 페이지인지 확인하세요 이런 모습이면 좋습니다. 그렇지 않다면 사이드바의 profiles 메뉴

    애플 개발자 프로필 페이지

  4. 클릭하여 + 버튼 애플 개발자 프로필 추가 버튼

  5. 프로필 유형을 선택하세요 선택 App Store Connect 및 클릭하여 Continue 버튼

    애플 개발자 프로필 유형 선택

  6. 앱을 선택하세요

    다운로드 메뉴에서 앱을 찾고 버튼을 클릭하세요 Continue 버튼

    애플 개발자 앱 선택

  7. 정확한 배포 인증서를 선택하세요

    애플 개발자 배포 인증서 선택 Continue 버튼

    애플 개발자에서 배포 인증서 선택

    애플 개발자 배포 인증서 만료일 선택

    프로파일 이름을 지정하세요

  8. 프로파일 이름을 지정하고 버튼을 클릭하세요

    애플 개발자 프로파일 이름 지정 Generate 버튼

    애플 개발자 이름 프로필

  9. 프로필을 다운로드하세요

    버튼을 클릭하여 프로필을 다운로드하세요 Download 주의

    Apple Developer 다운로드 프로필

축하합니다! 🎉 Capgo Native Build을 구성하기 위해 필요한 모든 것을 이제 가지고 있습니다.

설정 명령어를 실행하는 방법

설정 명령어를 실행하는 방법

축하합니다! Capgo Native Build을 구성하기 위해 필요한 모든 것을 이제 가지고 있습니다.

실행해야 하는 명령어는 다음과 같습니다:

터미널 창
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id UVTJ336J2D \
--apple-key ./capgo-tutorial/AuthKey_66FGQZB566.p8 \
--apple-key-id 66FGQZB566 \
--apple-issuer-id 0cd4db4a-5598-45b8-9d32-75cdf127d005 \
--certificate ./capgo-tutorial/capgo-build-tutorial-certificate.p12 \
--ios-provisioning-profile ./capgo-tutorial/capgo_native_build_tutorial.mobileprovision

모든 것이 잘 되었으면 다음 출력을 볼 수 있을 것입니다.

Capgo CLI 인증서 저장 출력

CI/CD 설정 (GitHub Actions)

CI/CD 설정 (GitHub Actions) 섹션

이미 완료한 팀 ID, Apple key, Apple key ID 및 Apple issuer ID, 인증서, 그리고 프로비전 프로파일CI/CD를 위한 모든 것이 이미 준비되어 있습니다. 이 섹션에서는 CI/CD에 필요한 값을 GitHub Actions 비밀과 환경 변수로 전달하는 방법에 대해만 설명합니다.

1) 인증 파일을 단일 줄 base64로 변환
# Distribution certificate (.p12)
base64 -i ./capgo-tutorial/capgo-build-tutorial-certificate.p12 | tr -d '\n' > certificate_base64.txt
# Provisioning profile (.mobileprovision)
base64 -i ./capgo-tutorial/capgo_native_build_tutorial.mobileprovision | tr -d '\n' > profile_base64.txt
# App Store Connect API key (.p8)
base64 -i ./capgo-tutorial/AuthKey_66FGQZB566.p8 | tr -d '\n' > apple_key_base64.txt

2) 저장소 비밀 생성

2) 저장소 비밀 생성

내 GitHub > Repository > Settings > Secrets and variables > Actions, 추가:

비밀 이름값
CAPGO_TOKENCapgo API 토큰
APP_STORE_CONNECT_TEAM_ID팀 ID 팀 ID
APPLE_KEY_ID키 ID 애플 키, 애플 키 ID 및 애플 이슈어 ID
APPLE_ISSUER_ID발급자 ID Apple 키, Apple 키 ID 및 Apple 발급자 ID
BUILD_CERTIFICATE_BASE64내용 certificate_base64.txt
CAPGO_IOS_PROVISIONING_MAPCLI으로 생성 .capgo-credentials 파일
APPLE_KEY_CONTENT내용 apple_key_base64.txt
P12_PASSWORD (선택 사항)Your .p12 3) __CAPGO_KEEP_0__ Actions 워크플로우에서 환경 변수 사용

3) GitHub Actions 워크플로우에서 환경 변수 사용

GitHub/workflows/ios-build.yml
github
name: iOS Cloud Build
on:
workflow_dispatch:
push:
branches: [main]
jobs:
ios-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Request iOS build with Capgo
run: bunx @capgo/cli@latest build request --platform ios
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }}
APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}

빌드 실행

빌드 실행

이제 첫 번째 빌드를 실행할 준비가 되었습니다.

앱을 빌드하기 위해 다음 명령어를 실행하세요:

터미널 창
bunx @capgo/cli@latest build request --platform ios

축하합니다 🎉 이제 앱 빌드가 성공적으로 완료되었으며 앱 스토어에 제출할 준비가 되었습니다.

앱 스토어 리뷰 제출

App Store 리뷰 제출 섹션

App Store 빌드 경로의 일반적인 경우 App Store Connect / TestFlight에 빌드를 업로드합니다. CI 릴리즈가 또한 TestFlight 빌드를 App Store 버전과 함께 첨부하고 App 리뷰에 제출하려면, App Store Connect __CAPGO_KEEP_0__ 키 자격증을 --submit-to-store-review iOS 빌드에 대한 릴리스 빌드:

터미널 창
npx @capgo/cli@latest build request com.example.app \
--platform ios \
--build-mode release \
--ios-distribution app_store \
--submit-to-store-review \
--store-release-name "1.2.3" \
--store-release-notes "General improvements" \
--store-release-notes-locale "en-US=General improvements" \
--store-release-notes-locale "nl-NL=Algemene verbeteringen" \
--store-release-notes-locale "fr-FR=Ameliorations generales" \
--no-ios-automatic-release

이것은 App Store Connect API 인증서 키가 필요합니다.APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_KEY_CONTENT, and APP_STORE_CONNECT_TEAM_IDApp Store What's New 텍스트이며, 각 ad_hoc iOS 배포는 검토를 위해 빌드를 제출할 수 없습니다. --store-release-name iOS 버전은 App Store 버전입니다. Capgo이 생략된 경우 Capgo이 읽힙니다. MARKETING_VERSION Xcode 프로젝트에서. --store-release-notes iOS App Store What's New 텍스트입니다. 각 --store-release-notes-locale "locale=notes" iOS 앱 빌더 --ios-automatic-release 스토어 로케일을 위해 엔트리에서 override 할 수 있습니다. --no-ios-automatic-release 애플 승인 후 자동으로 릴리즈 하거나, 수동 릴리즈를 기다릴 수 있습니다. --ios-testflight-groups App Store 리뷰 제출을 위해 외부 베타 배포가 가능하지만, 필수는 아닙니다.

Ad-Hoc 배포 모드

Ad-Hoc 배포 모드

기본적으로 Capgo은 iOS 앱을 App Store 배포용으로 빌드합니다 (TestFlight + App Store). 내부 테스트나 CI 아티팩트 수집을 위해 ad-hoc 빌드를 필요로 한다면, flag를 사용할 수 있습니다. --ios-distribution 주의

  • App Store Connect __CAPGO_KEEP_0__ 키를 사용하지 않거나 사용하지 않으려면
  • 애플 스토어 커넥트 API 키를 사용하거나 사용하지 않습니다.
  • 요구 사항 --output-upload ad-hoc 빌드는

ad-hoc 빌드의

요구 사항

iOS 빌드 적게 요구 사항 애플 스토어 빌드보다 적게

인증서필요한가요?
배포 인증서 (.p12)네
팀 ID (.mobileprovision)네
팀 ID ("--apple-team-id)네
애플 스토어 연결 API 키 (".p8)No
애플 키 ID / 발급자 ID아니요

iOS 빌더

iOS 빌더

같은 단계를 따르세요 프로비전 프로파일페이지/영역: Capgo 빌더 / 네이티브 클라우드 빌드 제품 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. seen in: 페이지 native-build.astro. 메시지 키 `native_build_v2_wiz_ios_s3_l` (네이티브 빌드 V2 위즈 아이오에스 S3 L). , 그러나 5단계에서 어드혹 대신 :

  1. 애플 스토어 애플 개발자 프로파일
  2. 버튼을 클릭하세요 + 버튼
  3. 선택 Ad Hoc 그리고 Continue 버튼을 클릭하세요
  4. 앱과 배포 인증서를 선택하세요
  5. 등록하고 싶은 기기를 선택하세요
  6. 프로파일 이름을 지어 다운로드하세요

Ad-hoc 인증서 저장

Ad-hoc 인증서 저장
터미널 창
bunx @capgo/cli@latest build credentials save \
--platform ios \
--ios-distribution ad_hoc \
--apple-team-id YOUR_TEAM_ID \
--certificate './certificate.p12' \
--ios-provisioning-profile './adhoc_profile.mobileprovision'

아니요 --apple-key, --apple-key-id, 또는 --apple-issuer-id 필요합니다.

어드혹 빌드를 실행합니다.

제목: 어드혹 빌드를 실행합니다.
터미널 창
bunx @capgo/cli@latest build request \
--platform ios \
--ios-distribution ad_hoc

IPA를 빌드 아티팩트로 수집하기 위해서는 __CAPGO_KEEP_0__에 --output-upload:

터미널 창
bunx @capgo/cli@latest build request \
--platform ios \
--ios-distribution ad_hoc \
--output-upload

CI/CD와 어드혹 빌드를 사용합니다.

제목: CI/CD와 어드혹 빌드를 사용합니다.

App Store 빌드에 비해 GitHub 액션에서는 적은 비밀을 필요로 합니다.

github/workflows/ios-adhoc-build.yml
name: iOS Ad-Hoc Build
on:
workflow_dispatch:
jobs:
ios-adhoc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Request iOS ad-hoc build
run: bunx @capgo/cli@latest build request --platform ios --ios-distribution ad_hoc --output-upload
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP_ADHOC }}
CAPGO_IOS_DISTRIBUTION: ad_hoc

확장 프로그램이 있는 앱 (Multi-Target Signing)

애플리케이션에 확장 기능이 있는 (다중 대상 인증) 섹션

If your app includes extensions (share extensions, widgets, notification service extensions, etc.), each extension target needs its own provisioning profile. Capgo supports this via the repeatable --ios-provisioning-profile flag.

예제: 앱 + 공유 확장 프로그램

애플리케이션 + 공유 확장 예
터미널 창
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id YOUR_TEAM_ID \
--apple-key '/path/to/AuthKey_XXXXX.p8' \
--apple-key-id YOUR_KEY_ID \
--apple-issuer-id YOUR_ISSUER_ID \
--certificate '/path/to/certificate.p12' \
--ios-provisioning-profile "com.example.app=./app_profile.mobileprovision" \
--ios-provisioning-profile "com.example.app.share-extension=./share_ext_profile.mobileprovision"

각각 --ios-provisioning-profile CLI

  1. 모바일 프로비전 파일을 읽습니다.
  2. 내장된 plist에서 프로파일 이름을 자동으로 추출합니다.
  3. 파일을 Base64로 인코딩합니다.
  4. 모든 것을 단일 CAPGO_IOS_PROVISIONING_MAP 인증서

이동: 단일 프로필에서

단일 프로필에서 이동

이전 단일 프로필 사용자라면 BUILD_PROVISION_PROFILE_BASE64 (단일 프로필 사용자라면), 다음 명령어를 실행하세요:

터미널 창
bunx @capgo/cli@latest build credentials migrate --platform ios

이전 단일 프로필 사용자라면, 기존 단일 프로필 인증 정보를 새로운 CAPGO_IOS_PROVISIONING_MAP 형식으로 변환하고 레거시 키를 제거합니다.BUILD_PROVISION_PROFILE_BASE64, APPLE_PROFILE_NAME).

( update 이동 후에는 확장 프로필을 다음 명령어로 추가하세요 (합집합):

터미널 창
bunx @capgo/cli@latest build credentials update \
--platform ios \
--ios-provisioning-profile "com.example.app.share-extension=./share_ext_profile.mobileprovision"

프로비전 프로파일이 XYZ 기능을 포함하지 않는다.

때로는 다음 오류를 볼 수 있습니다.

오류

Provisioning profile "YOUR_PROVISIONING_PROFILE_NAME" doesn't include the XYZ capability. (in target 'App' from project 'App')"

프로비저닝 프로파일이 생성된 후에 새로운 기능을 활성화한 것입니다. 이에 따라 이전의 프로비저닝 프로파일에는 새로운 기능이 포함되지 않았습니다.

이 문제를 해결하려면 프로비저닝 프로파일을 다시 생성해야 합니다.

  1. 열기 애플 개발자 포털
  2. 정확한 팀을 드롭다운 메뉴에서 선택하세요. 애플 개발자 키 팀 선택
  3. 버튼을 클릭하세요. Profiles 애플 개발자 프로파일 버튼 원하는 프로비저닝 프로파일을 찾으세요.
  4. 애플 개발자 프로파일 찾기 클릭
  5. 클릭하여 Edit 버튼 애플 개발자 프로필 편집
  6. 클릭하여 Save 버튼 애플 개발자 프로필 저장
  7. 클릭하여 Download 버튼 애플 개발자 프로필 다운로드
  8. Capgo 네이티브 빌드 설정 명령 다시 실행 새로 다운로드한 프로필과 함께 다시 실행하세요.

이 문제를 해결해야 합니다.

Capgo 네이티브 빌드와 관련된 문제가 있거나, Capgo 네이티브 빌드의 인증 정보를 설정하거나 앱을 빌드하는 데 문제가 있으면, Capgo 네이티브 빌드와 관련된 문제가 있거나, Capgo 네이티브 빌드의 인증 정보를 설정하거나 앱을 빌드하는 데 문제가 있으면, 지원.

__CAPGO_KEEP_0__ CI/CD를 사용하여 CI/CD 자동화 계획을 만든 경우, __CAPGO_KEEP_0__ CI/CD와 연결하고, iOS 빌드 __CAPGO_KEEP_0__ CI/CD의 제품 워크플로우 Capgo 네이티브 빌드 Capgo 네이티브 빌드 Capgo 네이티브 빌드 Capgo Native Builds Capgo Capgo __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ GitHub GitHub