iOSアプリをビルドすることは、通常、1つのことだけを意味します: Xcodeが必要であり、XcodeはmacOSを意味します。この制約は、チーム全体がWindowsまたはLinuxで構成されている場合、またはMacのビルドマシンを維持したくない場合に面倒です。
__CAPGO_KEEP_0__と__CAPGO_KEEP_1__ Buildの組み合わせ Capacitor (ネイティブiOSプロジェクトを生成するために使用します) Capgo ビルド (クラウドでコンパイルおよび署名する) を使用すると、Windows ワークステーションから iOS ビルドと TestFlight 提出が可能になります。
このガイドでは、チームで効果的に機能する実用的ワークフローを紹介します:
- Windows上で通常のWebプロジェクトのように開発します。
- __CAPGO_KEEP_0__ を
ios/リポジトリ内に保管する (ネイティブ状態が再現可能であるため)。 - __CAPGO_KEEP_0__ を
cap syncローカルで実行する (WebビルドがiOSプロジェクトにコピーされるため)。 - Capgo ビルドをクラウドでトリガーする。
実際にビルドされるものとどこでビルドされるか
There are two separate “builds” in a Capacitor app:
- Web ビルド (あなたのJS/HTML/CSS): Windows上でこのように実行します。
- ネイティブビルド (Xcodeアーカイブ、署名、アップロード): Capgo ビルドはMacハードウェアでクラウド内でこのように実行します。
この分離は鍵です: Capgo ビルドはネイティブプロジェクトをコンパイルしますが、既に同期されたウェブアセットを期待しています。 ios/.
前提条件
- A working Capacitor app (any framework is fine).
- Apple Developerアカウント。
- アップロードしたいアプリのApp Store Connectへのアクセス (TestFlight/App Store提出用)。
- Your Capgo account and API token (
CAPGO_TOKEN).
1) Create or Prepare Your Capacitor App (Windows)
If you already have a web app, skip to the Capacitor steps.
Viteの例:
bun create vite@latest my-app
cd my-app
bun install
ビルドは静的アセットを生成する必要があります (Vite の場合、これは dist/ デフォルトで):
bun run build
2) iOS プラットフォームに Capacitor と追加してください
Capacitor をインストールしてください
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
iOS プラットフォームフォルダを作成して初期化してください
bunx cap init
bunx cap add ios
この時点で、ディレクトリが作成されます。Git にコミットしてください。 __CAPGO_KEEP_0__ ビルドは、内部のファイルをコンパイルするので、バージョン管理と再現性が必要です。 ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/Windows で Web アプリを変更すると、次のシーケンスを実行してください
これは、Web アプリのビルドされたアセットをネイティブ iOS プロジェクトにコピーする ( __CAPGO_KEEP_0__ ビルドが実際にコンパイルするファイル)
4) __CAPGO_KEEP_0__ と __CAPGO_KEEP_1__ をインストールして認証してください
bun run build
bunx cap sync ios
cap sync 4) Capgo と __CAPGO_KEEP_1__ をインストールして認証してください
4) Capgo と CLI をインストールして認証してください
Capgo ビルドは Capgo CLI によってトリガーされます。 bun を使用すると bunx:
bunx @capgo/cli@latest login
または、シェル/CIで環境変数を設定してトークンを設定します。
export CAPGO_TOKEN="your_api_key_here"
5) iOSのCloudビルド用にiOS Signingを設定する
iOSビルドするには署名資材が必要です。
- Apple Distribution 証明書 (
.p12) とそのパスワード - プロビジョニングプロファイル (
.mobileprovision) - App Store Connect API キー (
AuthKey_XXXXXX.p8) とメタデータ (Key ID、Issuer ID、Team ID)
必要に応じて、これらのファイルを生成するには、Capgo ドキュメントを参照してください。
最も簡単な方法は、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__ ビルドは自動的にテストフライトにビルドを送信できます。
bun run build
bunx cap sync ios
bunx @capgo/cli@latest build com.example.app --platform ios --build-mode release
You will see real-time logs in your terminal. If your App Store Connect key is configured, Capgo Build can submit the resulting build to TestFlight automatically.
__CAPGO_KEEP_0__ ビルドはネイティブの変更に対してのみ使用します:
Capgo Build is for native changes:
- adding/removing Capacitor plugins
- __CAPGO_KEEP_0__
- アイコン/スプラッシュの変更
- Capacitorの更新
- Swift/Objective-Cの変更
日常のUIの調整やJavaScriptの修正の場合、一般的には ライブ更新 (OTA)のため、毎回ネイティブバイナリを再構築する必要はありません。
良いチームワークは
- 頻繁なWebの変更の場合、ライブ更新を使用します。
- Capgoビルドを時々使用してネイティブの変更が必要な場合
Windowsの一般的な誤り(と修正)
- UIの変更がiOSビルドに表示されない場合、UIの変更が存在するはずですが、iOSビルドに反映されない場合は、Webアプリをビルドしたが、WebアプリをiOSビルドに反映させていません。
cap syncWebアプリをiOSビルドに反映させるにはios/. - Not committing
ios/Capgo Buildは、ネイティブプロジェクトをビルドします。フォルダがGitに含まれていない場合 (またはビルドコンテキストに含まれていない場合)、ビルドはアプリを再現できません。 - Pluginの変更はネイティブのビルドが必要ですCapgo Buildを実行し (そしてストアへの提出も)、後で行うように計画してください。
概要
Windows上ではXcodeを実行することはできませんが、WindowsからiOSアプリを配信することはできます: __CAPGO_KEEP_0__ ( リポジトリ内に) をアプリにラップしてください。
- Wrap your web app with Capacitor (
ios/__CAPGO_KEEP_0__ Buildを使用してiOSバイナリをコンパイル、署名、提出してください。__CAPGO_KEEP_1__ から。 - __CAPGO_KEEP_1__ からiOSバイナリをコンパイル、署名、提出してください。__CAPGO_KEEP_1__ から。
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
あなたが使用している 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 Integrations Capgo Integrations CI/CDの統合 CI/CDの実装詳細 GitHub Actions Integration GitHub Actions Integrationの実装詳細