Skip to content

iOS 빌드

iOS 앱을 TestFlight와 App Store에 제출하는 방법을 Capgo의 전용 Mac 인프라를 사용하여 배포합니다.

학습할 내용

학습할 내용
  • Capgo Native 빌드를 통해 앱을 업로드하는 방법을 배웁니다.
  • Capgo Native 빌드에 대한 인증서를 구성하는 방법을 배웁니다.

준비물

준비물
  • Capgo 계정 (무료试用 계정으로 시작할 수 있습니다.)
  • 앱이 Capgo에 등록되어야 합니다 (아니면) bunx @capgo/cli@latest app add Xcode가 설치된 Mac 컴퓨터 (linux/windows 머신에서 빌드를 설정할 수 있지만, 아직 문서화되지 않았습니다.)
  • 유효한 Apple Developer 계정 (99달러/년) (Apple Developer 계정에 관리자 또는 소유자 권한이 있어야 합니다.)
  • __CAPGO_KEEP_0__
  • 앱은 Xcode를 통해 성공적으로 빌드되어야 합니다.
  • Capacitor 앱
  • 앱에 대한 구성된 아이콘. 아이콘을 없는 앱은 앱 스토어에 업로드할 수 없습니다.

2단계 인증을 사용하는 애플 계정으로 등록하기

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

Before we can start thinking about building the app with Capgo, we should first set it up, and do a first TestFlight build by hand. There are some advantages to doing a manual build first:

  • __CAPGO_KEEP_0__를 사용하기 전에, __CAPGO_KEEP_0__를 설정하고, 첫 번째 테스트 플라이트 빌드를 수동으로 진행해야 합니다.
  • Before we can start thinking about building the app with __CAPGO_KEEP_0__, we should first set it up, and do a first TestFlight build by hand. There are some advantages to doing a manual build first:
  • 앱을 빌드하기 전에, code를 설정하고, 첫 번째 테스트 플라이트 빌드를 수동으로 진행해야 합니다.

You will setup the distribution certificate on your local machine You will create the App Store record if you haven’t done it yet You will be able to figure out any issues with the build process linked to your app __CAPGO_KEEP_0__ Before we can begin, you must have the distribution certificate installed on your local machine. This is quite a bit complex, but I will explain it below.

배포 인증서 설정

배포 인증서 설정
  1. Xcode 열기

  2. 클릭 Xcode -> Settings... 단축키를 사용할 수도 있습니다. Cmd + ,

    Xcode 설정

  3. 로 이동 Accounts Xcode 계정 탭

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

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

  6. Click on the Manage Certificates... 버튼을 클릭하세요. Xcode 인증서 관리

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

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

    1. Click on the + 버튼을 클릭하세요. 그리고 Apple Distribution Xcode 인증서 추가
    2. 자동으로 인증서가 생성됩니다. 목록에서 확인하실 수 있습니다.

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

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

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

    실행 bunx cap open ios 버튼을 찾고 클릭하세요.

  2. Xcode 도구栏에서 버튼을 찾고 클릭하세요. archive Xcode 도구栏

    버튼 product -> archive Xcode 도구栏

    버튼

  3. __CAPGO_KEEP_0__을 완료하기까지 기다립니다

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

    Xcode 배포 버튼

  5. __CAPGO_KEEP_3__을 선택하고 __CAPGO_KEEP_4__ 버튼을 클릭하세요 TestFlight Internal Only Xcode TestFlight 내부 배포 방법 Distribute 앱 기록을 구성하세요

    다음 필드를 입력하세요:

  6. __CAPGO_KEEP_5__: 앱의 이름 - 앱 스토어에서 표시됩니다

    __CAPGO_KEEP_6__: 앱의 SKU - 앱 스토어에서 앱을 식별하는 데 사용됩니다.

    1. __CAPGO_KEEP_0__
    2. __CAPGO_KEEP_1__
    3. 앱의 기본 언어 - 앱의 기본 언어

    그 다음에 next 버튼

    Xcode TestFlight 앱 기록 설정

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

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

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

  10. 버튼 Done 모든 것이 잘 되었으면 생각할 수 있지만, TestFlight에서 앱을 볼 수 있을 것 같지만, 여전히 몇 가지 더 할 일들이 있습니다.

TestFlight에 자신을 추가하세요.

  1. __CAPGO_KEEP_0__
  2. Complete export compliance so the build becomes testable
  3. App Store Connect에서 요구하는 메타데이터를 모두 입력하세요. (예: 지원 URL, 개인정보 보호 정책 URL, 연령 등)
  4. 지원하는 기기와 일치하는 스크린샷을 준비하세요.
  5. 제품 출시 전 제출하기 전에 App Review 연락처와 테스트 자격증명을 추가하세요.

첫 번째 항목부터 시작해 보겠습니다.

TestFlight에 가입하는 방법

TestFlight 가입
  1. Go to the App Store Connect 페이지 App Store Connect 로그인 페이지

  2. Apple Developer 계정으로 로그인하세요.

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

  4. __CAPGO_KEEP_1__ 버튼을 클릭하세요. Apps __CAPGO_KEEP_2__ Store Connect 앱 버튼 __CAPGO_KEEP_0__에서 이전 단계에서 만든 앱을 찾고 클릭하세요.

  5. __CAPGO_KEEP_2__ Store Connect 앱 선택 __CAPGO_KEEP_1__ 버튼을 클릭하세요.

  6. __CAPGO_KEEP_2__ Store Connect 테스트 플라이트 버튼 TestFlight __CAPGO_KEEP_1__ 버튼을 클릭하세요. __CAPGO_KEEP_2__ Store Connect 앱 선택 버튼

  7. __CAPGO_KEEP_1__ 버튼을 클릭하세요. Internal Testers plus __CAPGO_KEEP_2__ Store Connect 앱 선택 버튼 App Store Connect 내부 테스터 플러스 버튼

  8. 새 그룹 만들기

    내부 그룹이라고 이름을 지어보세요. 원하는 이름으로 지어도 됩니다.

    App Store Connect 새로운 그룹 만들기

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

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

    리스트에서 자신을 찾으시고 이름 옆에 체크박스를 선택하세요. (자신을 찾을 수 없다면 페이지를 새로 고침해 보세요) 그 다음에 Add 버튼을 클릭하세요.

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

  11. 그룹에 자신이 추가되었는지 확인하세요.

    Now, you should see yourself in the group.

    App Store Connect verify tester

축하합니다! 🎉 TestFlight에 자신을 추가했습니다. 이제 Capgo Native Build을 설정하기 전에 마지막 단계가 남았습니다.

규정 준수 정보 설정

규정 준수 정보 설정

애플이 자신의 앱이 표준 암호화 알고리즘을 사용하지 않는지 확인하도록 약속해야 합니다. 만약 앱이 표준 암호화 알고리즘을 사용하지 않는다면, 나는 애플 문서 표준 암호화 알고리즘을 사용하지 않는 경우를 처리하는 방법에 대한 정보를 읽는 것을 추천합니다. 이 방법은 두 가지가 있습니다.

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

먼저 첫 번째 방법부터 시작해 보겠습니다.

  1. 애플 스토어 연결에 있는 TestFlight 섹션을 찾는 모든 단계를 따라해 보세요.

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

  3. Find the build with missing compliance information and click on Manage App Store Connect 빌드 관리

  4. Select the option that best describes your app

    내 앱에 대해 이게 맞습니다. none, 하지만 당신의 경우에는 다를 수 있습니다. 그 후 저장을 클릭하세요.

    App Store Connect 앱 스토어 연결 정보 저장

  5. Your app should now say ready to test

    App Store Connect 테스트 준비 완료

As for the second one, here are the steps:

  1. Open the Info.plist __CAPGO_KEEP_0__

  2. __CAPGO_KEEP_1__

    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
  3. __CAPGO_KEEP_3__

__CAPGO_KEEP_8__

__CAPGO_KEEP_9__

__CAPGO_KEEP_10__ __CAPGO_KEEP_11__ iOS/iPadOS 기기에서 App Store에서

  1. TestFlight 앱을 다운로드하세요. TestFlight 앱을 다운로드하기 전에 앱을 테스트하기 위해 TestFlight에서 앱을 테스트할 준비가 되셨나요? 앱을 테스트하기 전에 다음 것들을 하셔야 합니다.
  2. Google에서 앱을 설치하는 방법에 대한 자세한 설명은 제공하고 있으니, 설치 방법에 대해 궁금하시다면 구글에 검색해 보세요.

Apple에서 앱을 테스트하기 위한 초대 메일을 받으실 겁니다.

Apple에서 보낸 초대 메일을 열어 보세요.

  1. 초대 메일에서

  2. 버튼을 클릭하세요. View in TestFlight TestFlight 초대 메일 버튼 버튼을 클릭하세요.

  3. 버튼 Install 버튼 TestFlight 설치 버튼

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

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

  5. 버튼을 클릭하고 클릭하세요

  6. 축하합니다 🎉 TestFlight에서 앱을 테스트하기 위한 초대장을 수락했습니다. 이제 __CAPGO_KEEP_0__ Native Build를 구성하여 앱을 TestFlight로 제출할 수 있습니다. Open __CAPGO_KEEP_0__ Native Build 구성

제목 "Capgo Native Build 구성"

제목 "Capgo Native Build 구성"

제목 "Capgo Native Build 구성"

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:

다음은 __CAPGO_KEEP_1__ __CAPGO_KEEP_2__에 전달할 항목의 목록입니다.__CAPGO_KEEP_2__
--platform플랫폼ios)
--apple-team-id애플 개발자 팀 ID ( 애플 개발자 포털)
--apple-key앱 스토어 연결 API 키 파일의 경로 (.p8 파일
--apple-key-id앱 스토어 연결 API 키의 키 ID
--apple-issuer-id앱 스토어 연결 발급자 ID
--certificate배포 인증서의 경로 (.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. Apple Developer Account 으로 이동하고 스크롤 다운

  2. 찾아보세요. Team ID

    팀 ID 위치는 개발자 계정에서 찾을 수 있습니다.

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

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

Apple 키로 넘어가겠습니다.

  1. App Store Connect 사용자 및 접근 페이지로 이동하세요. App Store Connect 사용자 및 접근 페이지로 이동하세요.

  2. 팀을 선택해 주세요.

    1. 상단 우측의 이름을 클릭해 주세요.
    2. 사용하고 싶은 팀을 클릭해 주세요. Apple Developer 키의 팀 선택
  3. 팀을 선택해 주세요. Integrations 버튼 App Store Connect 통합 버튼

  4. 주의: issuer

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

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

  6. __CAPGO_KEEP_0__ 버튼을 클릭하여 App manager __CAPGO_KEEP_0__ 버튼을 클릭하여 키 추가 버튼을 클릭합니다. Generate __CAPGO_KEEP_0__ 버튼을 클릭하여 키 추가 버튼을 클릭합니다. App Store Connect에 키 이름을 추가하고 앱 관리자에 접근 권한을 설정하고 버튼을 생성하세요.

  7. 키 ID를 저장하세요.

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

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

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

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

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

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

그러나 애플은 무한한 지혜로, 인증서를 내보내기 위한 방법이 생성 방법과는 다르다고 결정했습니다 🙃 설정 방법에 대해 알아보겠습니다:

  1. Keychain Access를 열기

    1. Click Command + Space 검색 바를 열기
    2. Search for Keychain Access
    3. Click on the Keychain Access app
  2. Select the login category and click on the My Certificates button Keychain Access 로그인 카테고리

  3. 인증서를 목록에서 찾으세요

    The certificate should be named 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. 비밀번호를 묻는 경우, 다음 중 하나를 선택할 수 있습니다:

    • 비밀번호를 입력하지 않고 넘어가기 (간단함을 위해 권장): 비밀번호를 입력하지 않고 OK 비밀번호를 설정하기: 인증서를 비밀번호로 보호하고 싶다면, 여기서 비밀번호를 설정할 수 있습니다. 비밀번호로 보호된
    • 파일은 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__에 의해 완전히 지원됩니다. - 인증서를 저장할 때 비밀번호를 입력하세요. .p12 files are fully supported by the Capgo CLI - just provide the password using the --p12-password 로그인 키체인 비밀번호를 묻는 경우, Mac에 로그인할 때 사용하는 비밀번호를 입력하세요.

    __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 옵션을 사용하여 구성 명령어를 실행할 때 비밀번호를 제공하세요.

  7. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__

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

    Keychain Access 인증서 로그인 키체인 비밀번호 저장

축하합니다 🎉 인증서를 성공적으로 내보냈습니다.

프로비저닝 프로파일

프로비저닝 프로파일 섹션

Apple에서 마지막으로 필요한 것은 확실히 이 것입니다. 이제 프로비저닝 프로파일을 내보내야 합니다.

  1. Apple Developer Profiles로 이동하세요. 팀을 선택하세요.

  2. 상단 오른쪽에서 이름을 클릭하세요.

    1. 선택한 팀을 클릭하세요.
    2. __CAPGO_KEEP_0__ Apple Developer keys 팀 선택
  3. 올바른 페이지에 있는지 확인하세요 이런 모습이면 좋습니다. 그렇지 않으면 profiles 메뉴에 있는

    Apple Developer 프로파일 페이지

  4. 프로파일을 클릭하세요. + 버튼 Apple Developer 프로파일 추가 버튼

  5. 프로파일 유형을 선택하세요. 선택 App Store ConnectContinue 버튼

    Apple Developer 앱 빌드 프로파일 선택

  6. 앱을 빌드할 앱을 선택하세요.

    애플 개발자에서 앱을 찾고 버튼을 클릭하세요. Continue __CAPGO_KEEP_0__

    Apple Developer 앱 선택

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

    __CAPGO_KEEP_0__ Continue 애플 개발자에서 배포 인증서를 선택하세요.

    인증서를 선택할 수 없다면, Keychain Access로 돌아가서 이전에 내보낸 인증서를 찾으세요. 그리고 만료일을 확인하세요.

    __CAPGO_KEEP_0__

    배포 인증서의 만료일

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

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

    Apple Developer 이름 프로필

  9. 프로필 다운로드

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

    애플 개발자 다운로드 프로필

축하합니다! 🎉 Capgo 네이티브 빌드를 구성하기 위해 필요한 모든 것을 이제 가지고 있습니다.

설정을 실행하는 명령어를 실행합니다.

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

축하합니다! Capgo 네이티브 빌드를 구성하기 위해 필요한 모든 것을 이제 가지고 있습니다.

실행할 명령어는 다음과 같습니다.

터미널 창
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)

이미 __CAPGO_KEEP_0__을 완료했습니다. 팀 ID, Apple 키, Apple 키 ID 및 Apple 발급자 ID, 인증서, 그리고 배포 프로파일, 이미 CI/CD를 위해 필요한 모든 것을 가지고 있습니다. 이 섹션은 CI/CD에 필요한 값을 GitHub Actions 비밀과 환경 변수로 전달하는 방법에 대해 설명합니다.

1) 인증 파일을 단일 줄 base64로 변환하기

제목 ‘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 애플 키, 애플 키 ID 및 애플 발급자 ID
BUILD_CERTIFICATE_BASE64내용 certificate_base64.txt
CAPGO_IOS_PROVISIONING_MAPCLI에 의해 생성되었습니다. — CLI에서 복사 .capgo-credentials 파일
APPLE_KEY_CONTENT내용 apple_key_base64.txt
P12_PASSWORD (선택 사항)당신의 .p12 export 시 설정된 비밀번호

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

제목 ‘3) GitHub Actions 워크플로우에서 환경 변수 사용’
github/workflows/ios-build.yml
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 }}

Running the build

Running the build

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

Run the following command to build your app:

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

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

앱 스토어 리뷰 제출

앱 스토어 리뷰 제출

The normal App Store build path uploads the build to App Store Connect/TestFlight. If your CI release should also attach the processed TestFlight build to the App Store version and submit it for App Review, pass --submit-to-store-review release build과 함께

Terminal 창
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

This requires App Store Connect API key credentials (APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_KEY_CONTENT, 및 APP_STORE_CONNECT_TEAM_ID) App-specific password uploads and ad_hoc distribution cannot submit a build for review. --store-release-name is App Store 버전입니다. Capgo이 omitted되면 Xcode 프로젝트에서 읽습니다. MARKETING_VERSION is App Store What’s New 텍스트이며, 각 --store-release-notes 스토어 로컬라이제이션을 위해 override 할 수 있습니다. --store-release-notes-locale "locale=notes" entry can override it for a store localization. Use --ios-automatic-release Apple 승인 후 자동으로 릴리즈하거나 --no-ios-automatic-release 수동 릴리즈를 기다립니다. --ios-testflight-groups App Store 리뷰 제출을 위해는 필요하지 않지만 외부 베타 배포에 사용할 수 있는 모드입니다.

내부 테스트 또는 CI 아티팩트 수집을 위해 ad-hoc 빌드를 필요로 하는 경우

Section titled “Ad-Hoc Distribution Mode”

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

  • App Store Connect __CAPGO_KEEP_0__ 키를 사용하지 않거나 사용할 수 없습니다.
  • You don’t have or don’t want to use an App Store Connect API key
  • App Store에 제출하지 않고 빌드합니다. --output-upload 요구 사항

‘요구 사항’

ad-hoc 빌드는

적은 요구 사항 fewer requirements App Store 빌드보다 더 좋습니다:

인증 정보필요한가요?
배포 인증서 (.p12)Yes
어드혹 배포 프로파일 (.mobileprovision)Yes
팀 ID (--apple-team-id)Yes
App Store Connect API 키 (.p8)No
Apple Key ID / 발급자 ID아니요

Follow the same steps as 프로비저닝 프로파일but in step 5, select Ad Hoc instead of App Store:

  1. Apple Developer Profiles로 이동 Click the
  2. 선택하기 버튼을 클릭합니다. + Select
  3. __CAPGO_KEEP_0__ Ad Hoc 클릭하여 계속
  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

__CAPGO_KEEP_0__을 빌드 아티팩트로 IPA로 수집하기 위해 추가 --output-upload:

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

자체 빌드와 CI/CD

자체 빌드와 CI/CD 섹션

GitHub 액션의 경우 App Store 빌드보다 비밀번호를 더 적게 필요합니다:

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

확장 프로그램이 포함된 앱 (다중 대상 인증)

확장 프로그램이 포함된 앱 (다중 대상 인증)

앱이 확장 프로그램 (공유 확장 프로그램, 위젯, 알림 서비스 확장 프로그램 등)을 포함한다면, 각 확장 프로그램 대상에는 riêng biệt한 인증 프로파일이 필요합니다. Capgo은 repeatable --ios-provisioning-profile 플래그를 통해 이러한 기능을 지원합니다.

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

Terminal 창
Terminal window
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-enc로 파일을 인코딩합니다.
  4. 모든 것을 단일 CAPGO_IOS_PROVISIONING_MAP 인증 정보

Single Profile에서 프로파일을 한 개로 통합하는 작업

단일 프로필에서 마이그레이션

이전에는 단일 프로필을 사용했습니다 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"

Provisioning profile에는 XYZ 기능이 포함되어 있지 않습니다.

'Provisioning profile에는 XYZ 기능이 포함되어 있지 않습니다.' 섹션

오류가 발생하는 경우가 있습니다.

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

이러한 문제는 프로비전 프로파일이 생성된 후에 새로운 기능을 활성화한 때문입니다. 기존의 프로비전 프로파일에는 아직 새로운 기능이 포함되어 있지 않습니다.

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

  1. Open 애플 개발자 포털
  2. 팀을 선택하세요. 애플 개발자 키 팀 선택
  3. 클릭하세요. Profiles 버튼 애플 개발자 프로파일 버튼
  4. 프로비전 프로파일을 다시 생성하고 싶은 프로파일을 찾으세요. 애플 개발자 프로파일 찾기
  5. 클릭하세요. Edit 버튼 애플 개발자 프로필 편집
  6. 버튼을 클릭하세요. Save 버튼 애플 개발자 프로필 저장
  7. 버튼을 클릭하세요. Download 버튼 애플 개발자 프로필 다운로드
  8. 새로 다운로드 한 프로필과 함께 Capgo 네이티브 빌드 설정 명령을 다시 실행하세요. 이 문제를 해결할 수 있습니다.

기타 문제들

어떤 이유로든 Capgo 네이티브 빌드, 인증 정보를 설정하거나 앱을 빌드하는 문제가 있으시면, Capgo 지원으로부터 도움을 받으시기 바랍니다. Keep going from iOS Builds.

__CAPGO_KEEP_0__ CI/CD __CAPGO_KEEP_0__ CI/CD 제품 워크플로우 __CAPGO_KEEP_0__ 네이티브 빌드 Capgo 네이티브 빌드 제품 워크플로우 Capgo 네이티브 빌드 Capgo 네이티브 빌드 Capgo 네이티브 빌드 Capgo 통합 제품 워크플로우에서 Capgo 통합을 위해 CI/CD 통합 CI/CD 통합 구현 세부 정보에서 GitHub 액션 통합 GitHub 액션 통합 구현 세부 정보에서