iOS 앱을 빌드하는 전통적인 방법은 하나의 의미를 가지고 있습니다: Xcode가 필요하고 Xcode는 macOS를 의미합니다. 이러한 제약은 Windows 또는 Linux에서 팀이 모두 있는 경우나 Mac 빌드 머신을 유지 관리하고 싶지 않은 경우가 있으면 불편합니다.
__CAPGO_KEEP_0__ Capacitor __CAPGO_KEEP_0__ 빌드 Capgo Build 이 가이드는 팀에서 잘 작동하는 실용적인 워크플로우를 보여줍니다:
Windows에서 일반 웹 프로젝트처럼 개발하세요.
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_0__
ios/로컬에서 실행하세요. - __CAPGO_KEEP_0__
cap sync__CAPGO_KEEP_0__ - Capgo iOS 클라우드 빌드를 트리거하세요.
실제로 무엇을 빌드하는가 어디에
Capacitor 앱에서 두 가지 별개의 "빌드"가 있습니다.
- 웹 빌드 (JS/HTML/CSS): 이 작업은 Windows에서 로컬로 수행합니다.
- 네이티브 빌드 (Xcode 아카이브, 서명, 업로드): Capgo 빌드는 Mac 하드웨어에서 클라우드에서 이 작업을 수행합니다.
이 분리는 핵심입니다: Capgo 빌드는 네이티브 프로젝트를 컴파일하지만, 웹 자산이 이미 synced된 상태로 기대합니다. ios/.
필수 조건
- Capacitor 앱이 작동하는 상태여야 합니다. (어떤 프레임워크도 괜찮습니다.)
- Apple Developer 계정이 있어야 합니다.
- 업로드하고자 하는 앱에 대한 App Store Connect 접근 권한이 필요합니다 (TestFlight/App Store 제출을 위해).
- 당신의 Capgo 계정과 API 토큰 (
CAPGO_TOKEN).
1) Capacitor 앱을 만들거나 준비하세요 (Windows)
이미 웹 앱이 있다면 Capacitor 단계로 건너 뛰세요.
예시: Vite:
bun create vite@latest my-app
cd my-app
bun install
빌드해야 하는 정적 자산이 있어야 합니다 (Vite의 경우 기본적으로) dist/ 2) __CAPGO_KEEP_0__ 및 iOS 플랫폼을 추가하세요
bun run build
Capacitor 설치:
Capacitor 초기화 및 iOS 플랫폼 폴더를 생성하세요:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
이 시점에서 __CAPGO_KEEP_0__ 디렉토리가 생성됩니다. Git에 커밋하세요. __CAPGO_KEEP_0__ 빌드는 내부에 있는 것을 컴파일하기 때문에 버전이 관리되고 reproducible해야 합니다.
bunx cap init
bunx cap add ios
__CAPGO_KEEP_0__ Build는 내부에 있는 것을 컴파일하기 때문에 버전이 관리되고 reproducible해야 합니다. ios/ Capgo Build는 내부에 있는 것을 컴파일하기 때문에 버전이 관리되고 reproducible해야 합니다. ios/__CAPGO_KEEP_0__ Build는 내부에 있는 것을 컴파일하기 때문에 버전이 관리되고 reproducible해야 합니다.
3) iOS 앱 빌드 전 항상 웹 자산을 Sync 하세요.
Windows에서 웹 앱을 변경할 때마다 이 순서를 반복하세요.
bun run build
bunx cap sync ios
cap sync Capgo Build는 웹 자산을 네이티브 iOS 프로젝트로 복사하는 것입니다 (Capgo Build는 실제로 컴파일할 파일입니다).
4) Capgo CLI을 설치하고 인증하세요.
Capgo Build는 Capgo CLI을 통해 트리거됩니다. bun을 사용하여 bunx:
bunx @capgo/cli@latest login
또는 shell/CI에서 환경 변수를 통해 토큰을 설정하세요.
export CAPGO_TOKEN="your_api_key_here"
5) Cloud 빌드용 iOS Signing을 구성하세요.
iOS 빌드를 위해 다음을 필요로합니다:
- Apple Distribution 인증서 (
.p12)와 그 비밀번호 - Provisioning 프로파일 (
.mobileprovision) - App Store Connect API 키 (
AuthKey_XXXXXX.p8) 및 메타데이터 (Key ID, Issuer ID, Team ID)
이 파일들을 생성해야 하는 경우 Capgo 문서를 따르세요:
- 인증 정보 관리 (저장해야 하는 것과 방법)
- iOS 인증서 및 배포 프로파일을 얻는 방법
가장 쉬운 방법은: Mac, 동료, 또는 일회용 임대 중인 Mac을 사용하여 한 번 생성/내보내고, 이후 Windows에서 재사용하는 것입니다.
Capgo 빌드에 파일을 저장한 후:
bunx @capgo/cli@latest build credentials save \
--platform ios \
--certificate ./cert.p12 \
--p12-password "password" \
--provisioning-profile ./profile.mobileprovision \
--apple-key ./AuthKey.p8 \
--apple-key-id "KEY123" \
--apple-issuer-id "issuer-uuid" \
--apple-team-id "team-id"
CI에서 팁: 인증 정보 파일을 base64로 인코딩하여 비밀로 저장하고, 런타임에 디코딩한 후 동일한 명령어를 실행하세요. build credentials save 6) Windows에서 iOS 빌드를 트리거하세요
앱 폴더에서:
터미널에서 실시간 로그를 볼 수 있습니다. App Store Connect 키가 구성된 경우 __CAPGO_KEEP_0__ 빌드는 자동으로 TestFlight에 결과 빌드를 제출할 수 있습니다.
bun run build
bunx cap sync ios
bunx @capgo/cli@latest build com.example.app --platform ios --build-mode release
Capgo
7) 빠르게 반영: 웹 전용 변경 사항에 대한 실시간 업데이트
Capgo Build는 네이티브 변경 사항에 대한 것입니다:
- Capacitor 플러그인을 추가/제거하는 경우
- 컨텍스트: Capawesome 비교 페이지에서 longer Capgo UI 문자열 (부모 키 `capwesome_diff_plugins_capgo`). 페이지/영역: Capawesome 비교 페이지. 역할: 마케팅 또는 법적 문단. 보존: Capgo 제품/브랜드 및 개발자 용어를 정확히. 메시지 키 `capwesome_diff_plugins_capgo` (Capwesome Diff Plugins Capgo).
- 네이티브 권한 변경
- updating Capacitor
- __CAPGO_KEEP_0__ 업데이트
Swift/Objective-C 변경 일상적인 UI 조정과 JavaScript 수정을 위해, 일반적으로 다음을 원합니다: 실시간 업데이트
컨텍스트: 홈페이지 문제/해결 섹션. 역할: 섹션 또는 페이지 제목. 보존: page premium-support.astro. 메시지 키 `ps_help_updates_title` (Ps Help Updates Title).
- (OTA), 그래서 매번 네이티브 바이너리를 다시 빌드하지 않습니다.
- Capgo 빌드를 때때로 사용하세요. native 변경이 필요할 때.
윈도우의 일반적인 문제점 (및 해결책)
- 잊어버리다
cap sync: iOS 빌드에서 UI 변경이 누락된 경우, 웹 앱을 빌드했지만 __CAPGO_KEEP_0__ 빌드를 동기화하지 않았을 가능성이 있습니다.ios/. - git에 폴더가 없거나 (또는 빌드 컨텍스트에 없을 경우) __CAPGO_KEEP_0__ 빌드는 native 프로젝트를 컴파일합니다. 빌드는 앱을 재현할 수 없습니다.
ios/: Capgo Build compiles the native project. If the folder is not in git (or not in your build context), the build cannot reproduce your app. - : 플러그인을 추가하는 것은 native 변경입니다. __CAPGO_KEEP_0__ 빌드 실행 (및 스토어 제출)을 계획하세요.: adding a plugin is a native change; plan a Capgo Build run (and a store submission) afterward.
윈도우에서 Xcode를 실행할 수는 없지만, iOS 앱을 윈도우에서 배포할 수 있습니다:
윈도우에서 iOS 앱을 배포할 수 있습니다. 윈도우에서 iOS 앱을 배포할 수 있습니다. 윈도우에서 iOS 앱을 배포할 수 있습니다.
- 웹 앱을 Capacitor (
ios/에서 wrapping합니다.) - 웹 자산을 로컬에서 빌드하고,
cap sync. - Use Capgo Build to compile, sign, and submit your iOS binary from the CLI.
Keep going from Build an iOS App from Windows with Capacitor and Capgo Build
Capacitor를 사용 중이라면 Build an iOS App from Windows with Capacitor and Capgo Build CI/CD 자동화 계획을 위해 Capgo CI/CD Capgo CI/CD Capgo Native Builds Capgo Native Builds Capgo 통합 Capgo 제품 워크플로우를 위한 통합 CI/CD 통합 __CAPGO_KEEP_0__ CI/CD 통합 구현 세부 사항 GitHub 액션 통합 GitHub 액션 통합 구현 세부 사항