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

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

Windowsの開発マシンから実際のiOSバイナリを配信する: Capacitorでウェブアプリをwrapし、次にCapgo Buildを使用してコンパイル、署名、そしてTestFlightに提出する

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

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

コンテンツマーケター

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

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

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

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

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

実際にビルドされるものとビルドされる場所

Capacitor アプリには、2つの独立した「ビルド」があります。

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

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

前提条件

  • A working Capacitor app (any framework is fine).
  • Apple Developerアカウント。
  • アップロードしたいアプリのApp Store Connectへのアクセス。
  • 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 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 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ビルドに表示されない場合、iOSビルドに表示されない可能性があります。 cap synciOSビルドに表示されないUIの変更がある場合、Webアプリをビルドしたかもしれませんが、Webアプリを同期していない可能性があります。 ios/.
  • コミットしない ios/: Capgo ビルドはネイティブプロジェクトをコンパイルします。フォルダがGitに含まれていない場合 (またはビルドコンテキストに含まれていない場合)、ビルドはアプリを再現できません。
  • プラグインの変更はネイティブの再構築なし: プラグインの追加はネイティブの変更です; Capgo ビルドの実行 (およびストアの提出) を計画してください。

概要

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

  1. Wrap your web app with Capacitor (ios/ __CAPGO_KEEP_0__ ビルドを使用して、iOSバイナリを__CAPGO_KEEP_1__から署名、コンパイル、提出してください。
  2. You cannot run Xcode on Windows, but you can ship iOS apps from Windows: cap sync.
  3. Use Capgo Build to compile, sign, and submit your iOS binary from the CLI.
Capacitor アプリのためのリアルタイムの更新

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

今すぐ始める

ブログの最新記事

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