WindowsからiOSアプリをビルドするには、__CAPGO_KEEP_0__と__CAPGO_KEEP_1__ Buildを使用します。
チュートリアル

CapacitorとCapgoを使用してWindowsからiOSアプリを構築する

CapacitorでWebアプリをラップし、Capgo Buildを使用してWindows開発マシンから実際のiOSバイナリをコンパイル、署名、テストフライトに送信する

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

Windows上でiOSアプリを構築するにはCapacitorとCapgoを使用してください

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:

ファイルがローカルに保存されたら、__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アプリを配信することはできます。

  1. CapgoでCapacitor (ios/ リポジトリ内に) を使用して、WebアプリをWrapしてください。
  2. ローカルでWebアセットをビルドし、次に__CAPGO_KEEP_0__ Buildを使用してiOSバイナリをコンパイル、署名、配信してください。 cap sync.
  3. Use Capgo Build to compile, sign, and submit your iOS binary from the CLI.
ライブ更新を Capacitor アプリに適用する

Capgoのバグが実際に生じた場合、Capgoを使用して修正を配信するのではなく、数日間待ってアプリストアの承認を待つのではなく、ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通る。

Get Started Now

Latest from our Blog

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。