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

Build an iOS App from Windows with Capacitor and Capgo Build

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ビルドおよびTestFlightの提出が可能になります。

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

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

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

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

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

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

WindowsからiOSアプリをビルドするCapacitorとCapgoのビルド dist/ 2) __CAPGO_KEEP_0__とiOSプラットフォームを追加する

bun run build

Capacitorをインストールする:

Install Capacitor:

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

この時点で、__CAPGO_KEEP_0__ディレクトリが作成される。Gitにコミットする。__CAPGO_KEEP_0__ Buildは、その中に含まれるものをコンパイルするので、バージョン管理と再現性が必要です。

bunx cap init
bunx cap add ios

3) iOSビルド前に常にWebアセットをSyncする ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/Syncは、ビルドしたWebアセットをネイティブiOSプロジェクトにコピーするもの ( __CAPGO_KEEP_0__ Buildが実際にコンパイルするファイル) です。

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

__CAPGO_KEEP_0__

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_BUILD__は、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、チームメンバー、または1度のレンタルで使用できる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__ ビルドは自動的にTestFlightにビルドを送信できます。

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__ ビルドはCapawesomeの比較ページの長いマーケティングまたは法的文章の文脈で使用されます。
  • アイコン/スプラッシュの変更
  • Capacitorの更新
  • Swift/Objective-Cの変更

日常のUI調整やJavaScriptの修正の場合、一般的に ライブアップデート ライブアップデート(OTA)を使用することで、毎回ネイティブバイナリを再構築する必要がなくなります。

良いチームワークの例は

  • ライブアップデートを頻繁に使用する
  • Capgoビルドを時々使用する

Windowsの一般的な誤り(と対策)

  • 忘れ cap sync: UIの変更がiOSビルドに反映されない場合、Webアプリをビルドしたが、Syncを実行していない可能性があります。 ios/.
  • Not committing ios/: Capgo Buildはネイティブプロジェクトをコンパイルします。フォルダがGitに含まれていない場合 (またはビルドコンテキストに含まれていない場合)、ビルドはアプリを再現できません。
  • : プラグインの変更はネイティブの再構築が必要です; __CAPGO_KEEP_0__ ビルドの実行 (およびストアの提出) を計画してください。: adding a plugin is a native change; plan a Capgo Build run (and a store submission) afterward.

Windows上ではXcodeを実行できませんが、WindowsからiOSアプリを配信することはできます:

Webアプリを__CAPGO_KEEP_0__ ( プロジェクト内) にラップしてください。 Webアセットをローカルにビルドし、__CAPGO_KEEP_0__ ビルドを使用してiOSバイナリをコンパイル、署名、提出してください。

  1. Wrap your web app with Capacitor (ios/ __CAPGO_KEEP_1__
  2. を使用してください。 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_KEEP_0__と接続する Capgo CI/CD Capgo CI/CDの製品フロー Capgo Native Builds Capgo Native Buildsの製品フロー Capgo Integrations Capgo Integrationsの製品フロー CI/CDの統合 CI/CDの実装詳細のCI/CD統合 GitHub アクション統合 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_KEEP_0__ を使用して修正を配信するのを待つのではなく、App Store の承認に数日かかるのを避ける。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー パスに残る。

コンテキスト: Capgo マーケティング ウェブサイト。役割: サポートする説明文またはメタ説明文。見つかった場所: コンポーネント GetStarted.astro。Capgo の製品/ブランド名と開発者用語を完全に保持する。

マーティンから人間のサポートを受ける

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