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

Build an iOS App from Windows with Capacitor and Capgo Build

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

記事のクレジット

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

ライター

バレリア

レビュアー

ジョーダン

エディター

Build an iOS App from Windows with Capacitor and Capgo Build

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

の組み合わせ Capacitor (ネイティブiOSプロジェクトを生成するために)と Capgo ビルド クラウドでコンパイルおよび署名する (to compile and sign it in the cloud) を使用すると、Windows ワークステーションから iOS ビルドとテストフライトの投稿が可能になります。

このガイドでは、チームで効果的に作業するための実践的なワークフローを紹介します。

  • Windows上で通常のWebプロジェクトのように開発します。
  • 保管 ios/ リポジトリ内に保管します (so native state is reproducible).
  • Run cap sync クラウドビルドをトリガーします。__CAPGO_KEEP_0__ Build。
  • Trigger an iOS cloud build with Capgo Build.

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

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

  • Web build Windows上でローカルに実行します。
  • ネイティブビルド (Xcodeアーカイブ、署名、アップロード): Capgo ビルドはMacハードウェアでクラウド内で実行されます。

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

bun run build

2) Capacitor と iOS プラットフォームを追加します。

Install Capacitor:

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

iOS プラットフォームフォルダを作成して初期化します:

bunx cap init
bunx cap add ios

この時点で、 ios/ ディレクトリが作成されます。Git にコミットしてください。 Capgo ビルドは、その中に含まれるものをコンパイルするので、バージョン管理と再現性が必要です。 ios/3) iOS ビルド前に常に Web アセットを Sync する

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

これは、実際にビルドする __CAPGO_KEEP_0__ ビルドのファイルにコピーされる Web アセットです。

bun run build
bunx cap sync ios

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

4) Install and Authenticate the Capgo CLI

CapgoはCapgoを使用してビルドをトリガーします。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) とそのパスワード
  • プロビジョニング プロファイル (.mobileprovision)
  • App Store Connect API キー (AuthKey_XXXXXX.p8) とメタデータ (キーアイデンティティ、発行者 ID、チーム ID)

Capacitor Capgo Build の場合、必要なファイルを生成する必要がある場合は、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 command.

アプリフォルダから:

実行中のログがターミナルで表示されます。アプリストア接続キーの設定が完了している場合、__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 プラグインの変更

  • adding/removing Capacitor plugins
  • アイコン/スプラッシュの変更
  • __CAPGO_KEEP_0__ ビルドはネイティブの変更に対してです: プラグインの追加/削除
  • Capacitor
  • Swift/Objective-Cの変更

日常のUI調整やJavaScriptの修正の場合、一般的には ライブアップデート オンライン更新 (OTA) により、毎回ネイティブバイナリを再構築する必要がないためです。

(OTA)、つまり、毎回ネイティブバイナリを再構築する必要がないため

  • 良いチームワークフローは
  • Capgoを使用して、Capgoを時々ビルドすることがあります。

__CAPGO_KEEP_0__ ビルドをまれに使用する

  • Forgetting cap sync忘れ ios/.
  • : UIの変更がiOSビルドに表示されない場合、UIの変更が表示されない可能性があります。iOSビルドに表示されないUIの変更は、Webアプリをビルドしたが、WebアプリをCapgoにSyncしなかった可能性があります。 ios/: Capgo Build はネイティブプロジェクトをコンパイルします。フォルダが Git またはビルドコンテキストにない場合、ビルドはアプリを再現できません。
  • : __CAPGO_KEEP_0__ Build の変更はネイティブの再構築を必要とします。: Capgo Build を実行するには、プランしてください (およびストアの提出)。

概要

You cannot run Xcode on Windows, but you can Web アセットをローカルにビルドし、 __CAPGO_KEEP_0__ Build を使用して iOS バイナリをコンパイル、署名、提出します。

  1. Capacitor (Capgo) で、WindowsからiOSアプリを構築します。ios/ __CAPGO_KEEP_0__
  2. __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

WindowsでiOSアプリをビルドする方法について Build an iOS App from Windows with Capacitor and Capgo Build CI/CDの自動化を計画するには Capgo CI/CD Capgo CI/CDの製品ワークフロー Capgo WindowsからiOSアプリをビルド Capgo Native Buildsの製品ワークフロー Capgo 連携機能 Capgo Integrationsの製品ワークフロー CI/CD統合 CI/CD統合の実装詳細 GitHub アクション統合 Capgoの実装詳細についてはGitHubアクション統合で確認してください。

Capacitor アプリ向けの即時更新

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

最新のブログ

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