Windows, iOS, __CAPGO_KEEP_0__, __CAPGO_KEEP_1__
チュートリアル

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

CapacitorでWebアプリをwrapし、Capgo Buildを使用してWindowsの開発マシンから実際のiOSバイナリをコンパイル、署名、テストフライトに送信することができます。Macを所有する必要はありません。

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

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

コンテンツマーケター

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

iOSアプリを開発するには、通常、Xcodeが必要であり、XcodeはmacOSを必要とするという制約が残っています。

The combo of Capacitor (iOSプロジェクトを生成するために)と Capgo Build (クラウドでコンパイルおよび署名するために)は、WindowsワークステーションからiOSビルドおよびTestFlightの投稿を実行できるようにします。

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

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

実際にどのビルドをどこで行うか

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

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

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

前提条件

  • Capacitor アプリ (どのフレームワークでもかまいません) が正常に動作していること。
  • Apple Developerアカウントが利用可能です。
  • App Store Connectへのアクセスが必要なアプリ (TestFlight/App Storeの提出用)
  • あなたの Capgo アカウントと API トークン (CAPGO_TOKEN).

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

すでにウェブアプリを持っている場合は、 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

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

bunx cap init
bunx cap add ios

Build must produce static assets (for Vite this is ios/ Install Capgo: ios/Initialize and create the iOS platform folder:

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

Windowsで毎回変更したWebアプリに対してこのシーケンスを実行する

bun run build
bunx cap sync ios

cap sync は、実際にコンパイルされるファイル(Capgo Build)に、作成したWebアセットをコピーするものです。

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

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

bunx @capgo/cli@latest login

または、シェル/CIで環境変数を設定してトークンを設定する

export CAPGO_TOKEN="your_api_key_here"

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

iOSビルドには署名資材が必要です。

  • Apple Distribution証明書(.p12)とそのパスワード
  • プロビジョニングプロファイル(.mobileprovision)
  • App Store Connect APIキーAuthKey_XXXXXX.p8とメタデータ (キーID、発行者ID、チームID)

Capgo ドキュメントを参照してください。

最も簡単な方法は、Mac、チームメイト、または一時レンタルで利用できる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

Capgo

7) __CAPGO_KEEP_0__を高速に反映: Web-Onlyの変更に対するリアルタイム更新

Capgo Buildは、ネイティブの変更用:

  • Capacitor プラグインの追加/削除
  • ネイティブの権限の変更
  • アイコン/スプラッシュの変更
  • Capacitorの更新
  • Swift/Objective-Cの変更

日常のUIの調整やJavaScriptの修正の場合、一般的には リアルタイム更新 (Live Updates) を使用したい (OTA) として、ネイティブバイナリを毎回再構築する必要がないため。

チームワークの良い例は:

  • 頻繁にWebの変更がある場合、リアルタイム更新を使用すること。
  • Capgo を使用して、まれにネイティブの変更が必要なときにビルドします。

Windows の一般的な問題 (および解決策)

  • UI の変更が iOS ビルドに表示されない場合、UI の変更が含まれていない可能性があります。 cap syncコミットしない ios/.
  • __CAPGO_KEEP_0__ ビルドはネイティブのプロジェクトをコンパイルします。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_KEEP_0__ ビルドの実行 (およびストアの提出) を計画してください。: adding a plugin is a native change; plan a Capgo Build run (and a store submission) afterward.

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

__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__

  1. ウェブアプリをCapacitor (ios/ で、リポジトリに追加します。
  2. ローカルでウェブアセットをビルドし、次に cap sync.
  3. Capgo Buildを使用して、iOSバイナリをCLIから署名して提出します。

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

あなたが CapacitorとCapgo Buildを使用してWindowsからiOSアプリを構築する CI/CDの自動化計画を行っている場合、 Capgo CI/CD Capgo CI/CDの製品フロー Capgo Native Builds Capgo Native Buildsの製品フロー Capgo統合 Capgo統合の製品ワークフローについて CI/CD統合 CI/CD統合の実装詳細について GitHubアクション統合 GitHubアクション統合の実装詳細について

ライブ更新を実行する Capacitor アプリ

Capgoのバグが実際に生じた場合、Capgoを通して修正を配信するのではなく、数日間待ってアプリストアの承認を待つのではなくします。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通っています。

Get Started Now

Latest from our Blog

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