Windows, iOS, __CAPGO_KEEP_0__, __CAPGO_KEEP_1__
Tutorial

WindowsからiOSアプリをビルドする方法: CapacitorとCapgo Buildを使用する

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

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

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

コンテンツマーケター

WindowsからiOSアプリをビルドする方法: CapacitorとCapgo Buildを使用する

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

__CAPGO_KEEP_0__と__CAPGO_KEEP_1__ Buildの組み合わせ Capacitor (ネイティブiOSプロジェクトを生成するために使用します) Capgo ビルド (クラウドでコンパイルおよび署名する) を使用すると、Windows ワークステーションから iOS ビルドと TestFlight 提出が可能になります。

このガイドでは、チームで効果的に機能する実用的ワークフローを紹介します:

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

実際にビルドされるものとどこでビルドされるか

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

  • Web ビルド (あなたのJS/HTML/CSS): Windows上でこのように実行します。
  • ネイティブビルド (Xcodeアーカイブ、署名、アップロード): Capgo ビルドはMacハードウェアでクラウド内でこのように実行します。

この分離は鍵です: Capgo ビルドはネイティブプロジェクトをコンパイルしますが、既に同期されたウェブアセットを期待しています。 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

ビルドは静的アセットを生成する必要があります (Vite の場合、これは dist/ デフォルトで):

bun run build

2) iOS プラットフォームに Capacitor と追加してください

Capacitor をインストールしてください

bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli

iOS プラットフォームフォルダを作成して初期化してください

bunx cap init
bunx cap add ios

この時点で、ディレクトリが作成されます。Git にコミットしてください。 __CAPGO_KEEP_0__ ビルドは、内部のファイルをコンパイルするので、バージョン管理と再現性が必要です。 ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/Windows で Web アプリを変更すると、次のシーケンスを実行してください

これは、Web アプリのビルドされたアセットをネイティブ iOS プロジェクトにコピーする ( __CAPGO_KEEP_0__ ビルドが実際にコンパイルするファイル)

4) __CAPGO_KEEP_0__ と __CAPGO_KEEP_1__ をインストールして認証してください

bun run build
bunx cap sync ios

cap sync 4) Capgo と __CAPGO_KEEP_1__ をインストールして認証してください

4) Capgo と CLI をインストールして認証してください

Capgo ビルドは 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 ドキュメントを参照してください。

最も簡単な方法は、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

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__
  • アイコン/スプラッシュの変更
  • Capacitorの更新
  • Swift/Objective-Cの変更

日常のUIの調整やJavaScriptの修正の場合、一般的には ライブ更新 (OTA)のため、毎回ネイティブバイナリを再構築する必要はありません。

良いチームワークは

  • 頻繁なWebの変更の場合、ライブ更新を使用します。
  • Capgoビルドを時々使用してネイティブの変更が必要な場合

Windowsの一般的な誤り(と修正)

  • UIの変更がiOSビルドに表示されない場合、UIの変更が存在するはずですが、iOSビルドに反映されない場合は、Webアプリをビルドしたが、WebアプリをiOSビルドに反映させていません。 cap syncWebアプリをiOSビルドに反映させるには ios/.
  • Not committing ios/Capgo Buildは、ネイティブプロジェクトをビルドします。フォルダがGitに含まれていない場合 (またはビルドコンテキストに含まれていない場合)、ビルドはアプリを再現できません。
  • Pluginの変更はネイティブのビルドが必要ですCapgo Buildを実行し (そしてストアへの提出も)、後で行うように計画してください。

概要

Windows上ではXcodeを実行することはできませんが、WindowsからiOSアプリを配信することはできます: __CAPGO_KEEP_0__ ( リポジトリ内に) をアプリにラップしてください。

  1. Wrap your web app with Capacitor (ios/ __CAPGO_KEEP_0__ Buildを使用してiOSバイナリをコンパイル、署名、提出してください。__CAPGO_KEEP_1__ から。
  2. __CAPGO_KEEP_1__ からiOSバイナリをコンパイル、署名、提出してください。__CAPGO_KEEP_1__ から。 cap sync.
  3. 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 CI/CD Capgo CI/CD Capgo Native Builds Capgo Native Builds Capgo Integrations Capgo Integrations CI/CDの統合 CI/CDの実装詳細 GitHub Actions Integration GitHub Actions Integrationの実装詳細

Capacitor アプリのライブ更新

ウェブ層のバグが生じた場合、Capgo を使用して修正を配信し、App Store の承認待ちの日数を待たなくしてください。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じます。

今すぐ始める

ブログの最新記事

Capgo を使用すると、プロフェッショナルなモバイルアプリを開発するために必要な最良の洞察を得ることができます。