iOSアプリをビルドすることは、通常、1つのことだけを意味します: Xcodeが必要であり、XcodeはmacOSを意味します。 その制約は、チーム全体がWindowsまたはLinuxで作業している場合、またはMacのビルドマシンを維持したくない場合に面倒です。
の組み合わせ Capacitor (ネイティブiOSプロジェクトを生成するために) そして Capgo Build (クラウドでコンパイルおよび署名する) を使用すると、WindowsワークステーションからiOSビルドおよびTestFlightの提出が可能になります。
このガイドでは、チームで効果的に機能する実用的ワークフローを紹介します:
- Windowsで通常のWebプロジェクトのように開発してください。
- __CAPGO_KEEP_0__
ios/リポジトリ内に保持してください (ネイティブの状態が再現可能になります)。 - __CAPGO_KEEP_0__
cap syncローカルに実行してください (WebビルドがiOSプロジェクトにコピーされます)。 - Capgo Build
実際にビルドされるものと場所
There are two separate “builds” in a Capacitor app:
- Webビルド (あなたのJS/HTML/CSS): Windows上でこのように実行します。
- ネイティブビルド (Xcodeアーカイブ、署名、アップロード): Capgo ビルドはMacハードウェアでクラウド上でこのように実行します。
この分離は鍵です: Capgo ビルドはネイティブプロジェクトをコンパイルしますが、既にSyncedされたあなたのWebアセットを期待しています。 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
WindowsからiOSアプリをビルドするCapacitorとCapgoのビルド dist/ 2) __CAPGO_KEEP_0__とiOSプラットフォームを追加する
bun run build
Capacitorをインストールする:
Install Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
この時点で、__CAPGO_KEEP_0__ディレクトリが作成される。Gitにコミットする。__CAPGO_KEEP_0__ Buildは、その中に含まれるものをコンパイルするので、バージョン管理と再現性が必要です。
bunx cap init
bunx cap add ios
3) iOSビルド前に常にWebアセットをSyncする ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/Syncは、ビルドしたWebアセットをネイティブiOSプロジェクトにコピーするもの ( __CAPGO_KEEP_0__ Buildが実際にコンパイルするファイル) です。
4) __CAPGO_KEEP_0__と__CAPGO_KEEP_1__をインストールして認証する
__CAPGO_KEEP_0__
bun run build
bunx cap sync ios
cap sync is what copies your built web assets into the native iOS project (the files Capgo Build will actually compile).
4) Install and Authenticate the Capgo CLI
Capgo __CAPGO_BUILD__は、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ドキュメントを参照してください:
- クレデンシャルマネージメント(保存するものと方法) __CAPGO_KEEP_1__ : __CAPGO_GITHUB__
- iOS証明書とプロビジョニングプロファイルを取得する方法
最も簡単な方法は、Mac、チームメンバー、または1度のレンタルで使用できる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
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__ ビルドはCapawesomeの比較ページの長いマーケティングまたは法的文章の文脈で使用されます。
- アイコン/スプラッシュの変更
- Capacitorの更新
- Swift/Objective-Cの変更
日常のUI調整やJavaScriptの修正の場合、一般的に ライブアップデート ライブアップデート(OTA)を使用することで、毎回ネイティブバイナリを再構築する必要がなくなります。
良いチームワークの例は
- ライブアップデートを頻繁に使用する
- Capgoビルドを時々使用する
Windowsの一般的な誤り(と対策)
- 忘れ
cap sync: UIの変更がiOSビルドに反映されない場合、Webアプリをビルドしたが、Syncを実行していない可能性があります。ios/. - Not committing
ios/: Capgo Buildはネイティブプロジェクトをコンパイルします。フォルダがGitに含まれていない場合 (またはビルドコンテキストに含まれていない場合)、ビルドはアプリを再現できません。 - : プラグインの変更はネイティブの再構築が必要です; __CAPGO_KEEP_0__ ビルドの実行 (およびストアの提出) を計画してください。: adding a plugin is a native change; plan a Capgo Build run (and a store submission) afterward.
Windows上ではXcodeを実行できませんが、WindowsからiOSアプリを配信することはできます:
Webアプリを__CAPGO_KEEP_0__ ( プロジェクト内) にラップしてください。 Webアセットをローカルにビルドし、__CAPGO_KEEP_0__ ビルドを使用してiOSバイナリをコンパイル、署名、提出してください。
- Wrap your web app with Capacitor (
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_KEEP_0__と接続する Capgo CI/CD Capgo CI/CDの製品フロー Capgo Native Builds Capgo Native Buildsの製品フロー Capgo Integrations Capgo Integrationsの製品フロー CI/CDの統合 CI/CDの実装詳細のCI/CD統合 GitHub アクション統合 GitHub アクション統合の実装詳細について。