iOSアプリを開発するには、通常、Xcodeが必要であり、XcodeはmacOSを必要とするという制約が残っています。
The combo of Capacitor (iOSプロジェクトを生成するために)と Capgo Build (クラウドでコンパイルおよび署名するために)は、WindowsワークステーションからiOSビルドおよびTestFlightの投稿を実行できるようにします。
このガイドでは、チームでよく機能する実用的ワークフローを紹介します。
- Windows上で通常のWebプロジェクトのように開発します。
- __CAPGO_KEEP_0__
ios/リポジトリに保管してください (ネイティブ状態が再現可能であることを保証するため)。 - __CAPGO_KEEP_0__
cap syncローカルに実行してください (WebビルドがiOSプロジェクトにコピーされることを保証するため)。 - iOSクラウドビルドをCapgo Buildでトリガーします。
実際にどのビルドをどこで行うか
Capacitor アプリには、2つの独立した「ビルド」があります。
- Webビルド (JS/HTML/CSS): Windows上でローカルに実行します。
- ネイティブビルド (Xcodeアーカイブ、署名、アップロード): Capgo BuildはMacハードウェアでクラウド内で実行します。
この分離は鍵です: Capgo Buildはネイティブプロジェクトをコンパイルしますが、WebアセットをすでにSyncした状態で期待しています。 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 をインストールする
Install Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
この時点で、ディレクトリが作成されます。Git にコミットする。 __CAPGO_KEEP_0__ ビルドは、ディレクトリ内の内容をコンパイルするので、バージョン管理と再現性が必要です。
bunx cap init
bunx cap add ios
Build must produce static assets (for Vite this is ios/ Install Capgo: ios/Initialize and create the iOS platform folder:
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、チームメイト、または一時レンタルで利用できる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_KEEP_0__を高速に反映: Web-Onlyの変更に対するリアルタイム更新
Capgo Buildは、ネイティブの変更用:
- Capacitor プラグインの追加/削除
- ネイティブの権限の変更
- アイコン/スプラッシュの変更
- Capacitorの更新
- Swift/Objective-Cの変更
日常のUIの調整やJavaScriptの修正の場合、一般的には リアルタイム更新 (Live Updates) を使用したい (OTA) として、ネイティブバイナリを毎回再構築する必要がないため。
チームワークの良い例は:
- 頻繁にWebの変更がある場合、リアルタイム更新を使用すること。
- Capgo を使用して、まれにネイティブの変更が必要なときにビルドします。
Windows の一般的な問題 (および解決策)
- UI の変更が iOS ビルドに表示されない場合、UI の変更が含まれていない可能性があります。
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.
Windows で Xcode を実行することはできませんが、Windows から iOS アプリを配信することはできます。
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
- ウェブアプリをCapacitor (
ios/で、リポジトリに追加します。 - ローカルでウェブアセットをビルドし、次に
cap sync. - Capgo Buildを使用して、iOSバイナリをCLIから署名して提出します。
CapacitorとCapgo Buildを使用してWindowsからiOSアプリを構築する
あなたが CapacitorとCapgo Buildを使用してWindowsからiOSアプリを構築する CI/CDの自動化計画を行っている場合、 Capgo CI/CD Capgo CI/CDの製品フロー Capgo Native Builds Capgo Native Buildsの製品フロー Capgo統合 Capgo統合の製品ワークフローについて CI/CD統合 CI/CD統合の実装詳細について GitHubアクション統合 GitHubアクション統合の実装詳細について