iOSアプリを構築することは従来、1つの意味を持ちます: Xcodeが必要であり、XcodeはmacOSを意味します。 その制約は、チーム全体がWindowsまたはLinuxで構成されている場合、またはMacのビルドマシンを維持したくない場合に面倒です。
の組み合わせ Capacitor (ネイティブiOSプロジェクトを生成する) Capgo Build (クラウドでコンパイルおよび署名する)
WindowsワークステーションからiOSビルドおよびテストフライトの投稿を行うことを可能にします。
- このガイドでは、チームで効果的に機能する実用的ワークフローを示します:
- Windows上で通常のWebプロジェクトのように開発してください。
ios/リポジトリ内 (元の状態を再現できるようにするため) - Run
cap syncローカルに実行 (WebビルドをiOSプロジェクトにコピーする) - iOSクラウドビルドをトリガーするには Capgo ビルドを実行します。
実際にビルドされる場所
There are two separate “builds” in a Capacitor app:
- Webビルド (JS/HTML/CSS): Windows上でローカルに実行します。
- ネイティブビルド (Xcodeアーカイブ、署名、アップロード): Capgo ビルドはMacハードウェアでクラウドで実行します。
この分離は鍵です: Capgo ビルドはネイティブプロジェクトをコンパイルしますが、Webアセットをすでに同期した状態で期待しています。 ios/.
前提条件
- 動作する Capacitor アプリ (どのフレームワークでもかまいません)。
- Apple Developer アカウント。
- アップロードしたいアプリの App Store Connect アクセス (TestFlight/App Store 提出用)。
- あなたの Capgo アカウントと API トークン (
CAPGO_TOKEN).
1) Windows であなたの Capacitor アプリを作成または準備する。
すでにウェブアプリを持っている場合は、 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
2) __CAPGO_KEEP_0__ と iOS プラットフォームを追加する。
bunx cap init
bunx cap add ios
At this point you will have an ios/ directory. Git にコミットしてください。 Capgo Build は、ディレクトリ内のファイルをコンパイルします。 ios/したがって、バージョン管理と再現性が必要です。
3) iOS ビルド前に Web アセットを Sync する
Windows では、以下のシーケンスを実行してください。
bun run build
bunx cap sync ios
cap sync これは、iOS のネイティブプロジェクトにビルドされた Web アセットをコピーする (実際にコンパイルするのは Capgo Build です) ことです。
4) Capgo と CLI をインストールして認証する
Capgo Build は、Capgo CLI を介してトリガーされます。 bun を使用して bunx:
bunx @capgo/cli@latest login
または、シェル/CI で環境変数を設定してトークンを設定してください。
export CAPGO_TOKEN="your_api_key_here"
5) Cloud ビルド用に iOS Signing を設定する
iOS ビルドには署名資材が必要です。
- Apple Distribution 証明書 (
.p12__CAPGO_KEEP_0__ - プロビジョニング プロファイル (
.mobileprovision) - App Store Connect API キー (
AuthKey_XXXXXX.p8__CAPGO_KEEP_0__
If you still need to generate these files, follow the Capgo documentation:
- (保存するものと方法) iOS証明書とプロビジョニング プロファイルの取得方法
- 最も簡単な方法は、以下の手順を実行することです: 一度に作成/エクスポートする (よくあるMac、チームメンバー、または一時レンタルを使用)、次にWindowsから毎回ビルドするときに再利用する。
ファイルがローカルに保存されたら、__CAPGO_KEEP_0__ ビルド用に保存する。
Once you have the files locally, save them for Capgo Build:
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"
Tip: in CI, store the credential files base64-encoded as secrets, decode them at runtime, then run the same command. build credentials save Tip: CI環境では、資格情報ファイルをbase64エンコードしてシークレットとして保存し、実行時にはデコードし、同じコマンドを実行します。
6) WindowsからiOSビルドをトリガーする
アプリフォルダから:
bun run build
bunx cap sync ios
bunx @capgo/cli@latest build com.example.app --platform ios --build-mode release
ターミナルでリアルタイムログを確認できます。App Store Connectキーが設定されている場合、Capgo ビルドは、結果のビルドをTestFlightに自動で提出できます。
7) Web-Onlyの変更に対して、高速な反復:ライブアップデート
Capgo ビルドは、ネイティブの変更に対して:
- Capacitor プラグインの追加/削除
- __CAPGO_KEEP_0__ の変更
- __CAPGO_KEEP_0__ の変更
- updating Capacitor
- __CAPGO_KEEP_0__ の更新
Swift/Objective-Cの変更 日常のUIの調整やJavaScriptの修正の場合、一般的にライブアップデートを使用します (OTA)の場合、毎回ネイティブバイナリを再構築する必要はありません。
良いチームワークの例は次のとおりです。
- 頻繁にWebの変更がある場合、Live Updatesを使用してください。
- Capgo ビルドを時々実行してください。ネイティブの変更が必要な場合に限ります。
一般的なWindowsの落とし穴と修正
- UIの変更がiOSビルドに表示されない場合、忘れていた可能性があります: Webアプリをビルドしたが、CapacitorにSyncしなかった可能性があります。
cap syncコミットしなかった場合: __CAPGO_KEEP_0__ ビルドはネイティブプロジェクトをコンパイルします。Gitにフォルダが含まれていない場合 (またはビルドコンテキストに含まれていない場合)、ビルドはアプリを再現できません。ios/. - プラグインの変更なしのネイティブ再構築: プラグインを追加することはネイティブの変更です。__CAPGO_KEEP_0__ ビルドの実行 (およびストアの提出) を計画してください。
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. - UIの変更がiOSビルドに表示されない場合、WebアプリをビルドしたがCapacitorにSyncしなかった可能性があります。コミットしなかった場合、Capgo ビルドはネイティブプロジェクトをコンパイルします。Gitにフォルダが含まれていない場合 (またはビルドコンテキストに含まれていない場合)、ビルドはアプリを再現できません。
プラグインの変更なしのネイティブ再構築: プラグインを追加することはネイティブの変更です。__CAPGO_KEEP_0__ ビルドの実行 (およびストアの提出) を計画してください。
Windows上ではXcodeを実行することはできませんが、WindowsからiOSアプリを配信することはできます。 しかし WindowsからiOSアプリを配信することはできます。
- CapgoでCapacitor (
ios/リポジトリ内に) を使用して、WebアプリをWrapしてください。 - ローカルでWebアセットをビルドし、次に__CAPGO_KEEP_0__ Buildを使用してiOSバイナリをコンパイル、署名、配信してください。
cap sync. - Use Capgo Build to compile, sign, and submit your iOS binary from the CLI.