メインコンテンツにジャンプ
チュートリアル

CapacitorとCapgoを使用してWindowsからiOSアプリをビルドする

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

記事のクレジット

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

ライター

バレリア

レビュアー

ジョーダン

エディター

Build an iOS App from Windows with Capacitor and Capgo Build

iOSアプリをビルドすることは、通常、1つのことを意味します: Xcodeが必要であり、XcodeはmacOSを意味します。 その制約は、チーム全体がWindowsまたはLinuxで構成されている場合、またはMacビルドマシンを維持したくない場合に面倒です。

の組み合わせ Capacitor (ネイティブiOSプロジェクトを生成する) Capgo Build (クラウドでコンパイルおよび署名する)

WindowsからiOSアプリをビルドするには、以下の手順を実行します。

  • Windowsで通常のWebプロジェクトのように開発します。
  • Capacitor ios/ リポジトリに保存してください (ネイティブ状態を再現可能にするため)。
  • Run cap sync ローカルで実行 (Web ビルドが iOS プロジェクトにコピーされるため)
  • Capgo ビルドをトリガーして iOS クラウド ビルドを実行

実際にビルドされる場所

There are two separate “builds” in a Capacitor app:

  • Web ビルド (JS/HTML/CSS): Windows でローカルで実行
  • ネイティブ ビルド (Xcode アーカイブ、署名、アップロード): Capgo ビルドは Mac ハードウェアでクラウドで実行

この分離は鍵です: Capgo ビルドはネイティブ プロジェクトをコンパイルしますが、Web アセットがすでに Synced されていることを期待します。 ios/.

前提条件

  • A working Capacitor app (any framework is fine).
  • Apple Developerアカウント。
  • App Store Connectへのアクセスが必要です。アップロードしたいアプリのものを選択してください (TestFlight/App Storeの提出用)。
  • CapgoアカウントとAPIトークンが必要です。CAPGO_TOKEN).

1) Capacitorアプリを作成または準備する (Windows)

既存のWebアプリがある場合は、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

この時点で、

bunx cap init
bunx cap add ios

__CAPGO_KEEP_0__アプリのiOSプラットフォームフォルダが作成されます。 ios/ ディレクトリ。Gitにコミットしてください。 Capgo ビルドは内部にあるものをコンパイルします。 ios/したがって、バージョン管理されたもので再現可能なものになります。

3) iOSビルド前に常にWebアセットをSyncする

WindowsでWebアプリを変更した度に、以下のシーケンスを実行してください。

bun run build
bunx cap sync ios

cap sync これは、実際にコンパイルする Capgo ビルドのファイルに、ビルドしたWebアセットをコピーするものです。

4) Capgo と CLI をインストールして認証する

Capgo ビルドは、Capgo CLI によってトリガーされます。 bun を使用して bunx:

bunx @capgo/cli@latest login

または、シェル/CIで環境変数を設定してトークンを設定してください。

export CAPGO_TOKEN="your_api_key_here"

5) Cloudビルド用にiOSの署名を設定する

iOSビルドには署名マテリアルが必要です。

  • Apple Distribution証明書 (.p12) とそのパスワード
  • iOSアプリをWindowsからビルドするCapacitorとCapgoのビルド.mobileprovision)
  • App Store ConnectのAPIキー(AuthKey_XXXXXX.p8)とメタデータ(キーアイデンティティ、発行者ID、チームID)

必要な場合は、Capgoドキュメントを参照して、これらのファイルを生成してください:

最も簡単な方法は、Mac、チームメンバー、または一時レンタルで利用できるMacを使用して一度だけ作成/エクスポートし、Windowsから毎回ビルドすることです。

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"

ヒント: CI環境では、シークレットとしてbase64エンコードされたクレデンシャルファイルを保存し、実行時にはデコードして、同じコマンドを実行します。 build credentials save 6) WindowsからiOSビルドをトリガーする

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 ビルドは自動的にテストフライトに送信できます。

7) Web-オンリー変更に対しては、即時更新が可能です。

Capgo ビルドは、ネイティブ変更に対して使用されます。

  • adding/removing Capacitor plugins
  • ネイティブの権限変更
  • アイコン/スプラッシュの変更
  • updating Capacitor
  • Swift/Objective-C の変更

日常の UI の調整や JavaScript の修正には、 Live Updates (OTA) により、ネイティブバイナリを毎回ビルドする必要がなくなります。

A good team workflow is:

  • Live Updatesを頻繁に使用してWebの変更を実行してください。
  • Use Capgo Build occasionally when native changes are needed.

Windowsの一般的な落とし穴(と修正)

  • UIの変更がiOSのビルドに表示されない場合、UIの変更が存在するかどうかを確認してください。 cap sync:Webアプリをビルドしたが、Capgo BuildでSyncすることを忘れていませんか? ios/.
  • :Capgo Buildはネイティブのプロジェクトをコンパイルします。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 Buildの実行(およびストアの提出)を計画してください。: adding a plugin is a native change; plan a Capgo Build run (and a store submission) afterward.

WindowsではXcodeを実行することはできませんが、

Capacitor WindowsからiOSアプリをビルドする WindowsからiOSアプリをビルドする:

  1. Capacitor (ios/ をリポジトリに追加してください。
  2. ローカルでWebアセットをビルドし、次に cap sync.
  3. Use Capgo Build to compile, sign, and submit your iOS binary from the CLI.

Capacitor BuildとCapgo Buildを使用してWindowsからiOSアプリをビルドする

WindowsからiOSアプリをビルドする Capacitor BuildとCapgo Buildを使用してWindowsからiOSアプリをビルドする CI/CDの自動化を計画する場合、__CAPGO_KEEP_0__ CI/CD Capgo CI/CD Capgo CI/CD Capgo Native Builds Capgo Native Buildsの製品ワークフロー Capgo Integrations for the product workflow in Capgo Integrations, CI/CD統合 CI/CD統合の実装詳細 GitHub Actions Integration for the implementation detail in GitHub Actions Integration.

Capacitor アプリのための即時更新

Web層のバグがライブの場合、Capgo を通して修正を配信するのではなく、App Storeの承認待ちの日数を待たずに修正を配信する。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビューのパスを通る。

マーティンから人間のサポート

今すぐ始めよう

最新の記事

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