iOSアプリを開発するには、通常、Xcodeが必要であり、XcodeはmacOSを必要とするという制約があります。これは、チーム全員がWindowsまたはLinuxで作業している場合や、Macのビルドマシンを維持したくない場合に面倒です。
の組み合わせ Capacitor (iOSのネイティブプロジェクトを生成する) Capgo ビルド
(クラウドでコンパイルおよび署名する)
- WindowsワークステーションからiOSビルドおよびTestFlightの投稿を行うことができます。
- このガイドでは、チームで効果的に機能する実用的ワークフローを紹介します。
ios/Windowsで通常のWebプロジェクトのように開発してください。 - リポジトリに
cap syncを保存してください (ネイティブの状態が再現可能であることを保証します)。 - iOSクラウドビルドをトリガーするにはCapgo ビルドを実行します。
実際にどのアプリケーションをビルドするのか
There are two separate “builds” in a Capacitor app:
- Webビルド (JS/HTML/CSS): Windows上でローカルに実行します。
- ネイティブビルド (Xcodeアーカイブ、署名、アップロード): Capgo ビルドはMacハードウェア上のクラウドで実行します。
この分離は鍵です: Capgo ビルドはネイティブプロジェクトをコンパイルしますが、既にSyncしたWebアセットを期待しています。 ios/.
前提条件
- A working Capacitor app (any framework is fine).
- 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
この時点で、ディレクトリが作成されます。Git にコミットする。 __CAPGO_KEEP_0__ ビルドは、ディレクトリ内の内容をコンパイルするので、バージョン管理と再現性が必要です。
bunx cap init
bunx cap add ios
__CAPGO_KEEP_0__ ios/ Capgo ios/__CAPGO_KEEP_0__
3) iOSビルド前に常にWebアセットを同期する
Windowsで毎回Webアプリを変更したときは、このシーケンスを実行してください。
bun run build
bunx cap sync ios
cap sync これは、実際にコンパイルされるファイル(Capgo Build)に、作成したWebアセットをコピーするものです。
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の署名を設定する
iOSビルドには署名資材が必要です。
- Apple Distribution証明書(
.p12)とそのパスワード - プロビジョニングプロファイル (
.mobileprovision) - App Store Connect APIキー (
AuthKey_XXXXXX.p8とメタデータ (キーID、発行者ID、チームID)
Capgo ドキュメントを参照してください。
- 資格情報の管理 (保存するものと保存しないもの)
- iOS証明書とプロビジョニングプロファイルを取得する方法
最も簡単な方法は、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
Capgo
7) 速い反復: Web-Only 変更のライブ更新
Capgo Build は、ネイティブの変更用です:
- Capacitor プラグインの追加/削除
- ネイティブの権限の変更
- アイコン/スプラッシュの変更
- Capacitor の更新
- Swift/Objective-C の変更
日常の UI の調整や JavaScript の修正の場合、一般的には ライブ更新 (Live Updates) を使用します。 (OTA) であるため、毎回ネイティブバイナリを再構築する必要はありません。
良いチームワークは
- 頻繁なWeb変更の場合、ライブ更新を使用してください。
- Capgo を使用して、まれにネイティブの変更が必要なときにビルドします。
一般的なWindowsの落とし穴 (対処法)
- UIの変更がiOSのビルドに表示されない場合、UIの変更が含まれているウェブアプリをビルドしたが、iOSアプリに同期していない可能性があります。
cap syncコミットしないios/. - __CAPGO_KEEP_0__ ビルドはネイティブのプロジェクトをコンパイルします。Git (またはビルドのコンテキスト) にフォルダが含まれていない場合、ビルドはアプリの再現ができません。
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. - プラグインを追加することはネイティブの変更です。 __CAPGO_KEEP_0__ ビルドの実行 (およびストアの提出) を計画してください。: adding a plugin is a native change; plan a Capgo Build run (and a store submission) afterward.
XcodeをWindowsで実行することはできませんが、WindowsからiOSアプリを配信することはできます。
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
- Capacitor (ウェブアプリを) 包み込んでください。
ios/リポジトリ内に置いてください。 - ローカルでウェブアセットをビルドし、次に
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
Capgoを使用している場合、Capacitorの設定を確認してください。 Build an iOS App from Windows with Capacitor and Capgo Build CI/CD自動化を計画するには、それを接続する Capgo CI/CD 製品ワークフローにおけるCapgo CI/CDの設定です。 Capgo ネイティブビルド Capgoのネイティブビルドの製品ワークフローです。 Capgo 連携 Capgo 連携の製品ワークフローで CI/CD 連携 CI/CD 連携の実装詳細について GitHub アクション連携 GitHub アクション連携の実装詳細について