メインコンテンツにジャンプ
Capacitor

Preparing for Capacitor 9: What App and Plugin Teams Can Do Now

Capacitor 9 raises the bar on Node, Xcode, Android Gradle, and deprecated native APIs. Here is how to get ready on Capacitor 8 before you flip the version switch, including Cordova optional sync, CLI live reload, and Capgo OTA store builds.

著者名

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

ライター

バレリア

レビュアー

ジョーダン

エディター

Preparing for Capacitor 9: What App and Plugin Teams Can Do Now

Capacitor 9は、 next Capacitor 9 のリリースは近づいています。アップグレードする必要はありませんが、Alpha がリリースされた日にアプリをアップグレードすることをお勧めします。 official Capacitor 9 update guide と Capacitor 9 のプラグイン更新ガイド すでにツールチェーンのフロアとAPIの削除については早期に取り組むべきものです。

Capacitor 9 に対する準備 準備 チェックリスト: Capacitor 8 (またはブランチ) で行うことができる作業は、最終的な bunx cap migrate パスは面白くなるのではなくて、苦痛ではなくなる。Capacitor 9 に切り替える準備ができたら、上記の Ionic のガイドを一行ずつ確認してください。

ツールチェーンとプラットフォームフロア (アプリ)

CI、ローカルマシン、ストアパイプラインを、以下の最小限の要件に合わせて計画してください:

エリア Capacitor 9 requirement
Node.js 24+ (latest LTS recommended; npm 11 ships with Node 24)
Xcode 27+
iOS のデプロイメントターゲット 16.0+
Android Studio 2026.1.1+
Android Gradle プラグイン (AGP) 9.2.1
Gradle ウォッパー 9.5.1

Capacitor 9 にアップグレードする場合、iOS の場合、8.4 以下の Capacitor に必要なのは UIScene ライフサイクル Capacitor 8.5 のアップデート以降の Cap 9 — Xcode 27 はそれを求めています。8.5 にすでにアップグレードしているアプリは、この追加ステップをスキップできます。

iOS では、Swift 6 (Xcode 27) は @UIApplicationMain; @main を AppDelegate.swift に置き換えます。

公式ガイドに記載されているように説明されています。

In Capacitor 9, the Cordova compatibility layer is __CAPGO_KEEP_0__ 9 では、Cordova の互換性レイヤーは cap sync にインストールされている Cordova プラグインを検出する時点でアプリに組み込まれます。Android では、プラグインが存在しない場合に Gradle モジュールを削除します; iOS では、プラグインが存在しない場合に追加モジュールを停止します。 CapacitorCordova Capacitor 9 に対して準備する Package.swift Podfile または

Capacitor 8 のときは、 Capacitor 9 では アップグレード後に custom native code Cordova を

Cordova のシンボルを gradle.properties Cordova プラグインが

Android: gradle.properties flags によりビルドが AGP 8 の動作を維持します。 Capacitor 9 アプリケーションは AGP 8 の挙動を Capacitor 9 に対処するために android.builtInKotlin=false Capacitor 9のバンドルに含まれるAGP 9のKotlinサポートを無効にする。 android.sdk.defaultTargetSdkToCompileSdkIfUnset=false Kotlin のサポートを無効にする targetSdkVersion).

AGP 9 が含む

  • Bump variables.gradle minimums (compile/target SDK 37,) minSdkVersion 最小バージョンを上げる
  • コンパイル/ターゲット __CAPGO_KEEP_0__ 37、26、AndroidX のバージョンを更新 — 公式ドキュメントを参照) targetSdkVersion 明示的な build.gradle アプリから compileSdkVersion.
  • Declare variables.gradle シンボルをアプリのトップに宣言する app/build.gradle (Gradle 9.6は暗黙のルックアップをプロジェクトのルートから削除します)
  • プロキシファイル名をデフォルトのものに置き換え、 core-ktx to androidx.core:core 1.19.0以上で、独立したKotlin Gradleプラグインの使用を中止し、ブランチにアプリケーションを適用してバージョンを上げる前に、 jcenter().

Androidセクションで差分ハンクを読み取ることができます。 9.0へのアップデート Capacitor:

CLI: cap run --url

Capacitor 9は、ライブリロードのホスト/ポート/HTTPSフラグを1つのフラグに統合します。 --url スクリプトとREADMEスニペットを更新して、筋肉の記憶が新しい__CAPGO_KEEP_0__に反対するのを防ぎましょう。

bunx cap run android -l --host 192.168.1.181 --port 5173

__CAPGO_KEEP_0__:

bunx cap run android --url http://192.168.1.181:5173/

CLI 9は、ライブリロードホスト/ポート/HTTPSフラグを単一の引数に統合します。

公式プラグイン: push と splash の注意点

2 つのユーザー向けの変更が、生産アプリケーションでよく表示されます:

プッシュ通知 (iOS): 非推奨の alert プレゼンテーションオプションが削除されました。プレゼンテーションオプションに banner と/または list を使用してください。

スプラッシュスクリーン (Android): デフォルト launchFadeOutDuration が 200 ms から 0プレゼンテーションオプションに launchFadeOutDuration: 200 明示的に capacitor.config 起動UIを調整するまで

Capacitor 9のアップデートガイドの セクションをスキャンしてください AndroidXとGoogle Play Servicesのバージョンアップを含む公式プラグインのバージョンアップを確認してください

プラグインのメンテナ: Cap 8でCap 8を破壊しないように準備してください

Cap 8でCapacitorプラグインを配信し、Capacitor 8で消費される場合 そして Cap 9用にcodeを準備したい場合は、 廃止されたAPIの削除に焦点を当ててくださいCap-9のみのパッケージング変更に焦点を当てるのではなく

Cap 8がサポートされている間は安全です:

  • 置き換え @NativePlugin に @CapacitorPlugin Capacitor 9.0のプラグインガイドを参照してください。 @PermissionCallback / @ActivityCallback 削除 , 旧 table).
  • iOSでは、 PluginCall.hasOption, Plugin.getConfigValue互換性のあるクラスと非推奨 CapConfig を使用しないようにします。, PluginCall.save() / isSaved()Capacitor 9 の場合、Java の削除は「Breaking changes in code」の下に記載されています。
  • APIを CAPBridge パターンに移行する必要があります。 CAPBridgeProtocol ヘルパー; 使用 ApplicationDelegateProxy, タイプ PluginCall アクセッサとブリッジプロパティをマイグレーションテーブルから取得します。
  • 実行 bunx @capacitor/plugin-migration-v8-to-v9@latest on a branch and keep only the API edits that still compile against Cap 8 peer dependencies until you publish a major for Cap 9.

コンテキスト: HTML テキスト フラグメント (親キー `compare_step_build_text`)。ページ/エリア: Capgo マーケティング ウェブサイト。役割: 長いマーケティングまたは法的文章。見つける場所: page alternatives/expo.astro、page alternatives/voltbuilder.astro。Capgo の製品/ブランド名と開発者用語をそのまま保存する。メッセージキー `compare_step_build_text` (Compare Step Build Text)。 Cordova コンテキスト: HTML テキスト フラグメント (親キー `compare_step_install_text`)。ページ/エリア: Capgo マーケティング ウェブサイト。役割: 長いマーケティングまたは法的文章。見つける場所: page alternatives/expo.astro、page alternatives/median.astro、page alternatives/voltbuilder.astro。Capgo の製品/ブランド名と開発者用語をそのまま保存する。メッセージキー `compare_step_install_text` (Compare Step Install Text)。 Package.swift while you still support Capacitor 8. 依存関係を削除しないでください。 プラグインの SPM プロダクトを削除しないでください。 Cordova product as a Capacitor 9-バージョン Capacitor 9以降のリリースライン (またはCapacitor 9以降を明示的にドキュメント化されたsemverメジャー)、Capacitor 8をサポート停止後 — プラグインガイドに記載されているものではなく、Cap 8ラインの前準備作業ではありません。

バージョンアップのルールはCapacitor 9のメジャーバージョンに適用されます。 capacitor-swift-pm to 9.0.0-alpha.x in Package.swiftCapacitor 9のメジャーバージョンに

CapgoライブアップデートとネイティブCap 9ストアビルド

CapgoライブアップデートとネイティブCapacitor 9ストアビルド __CAPGO_KEEP_0__は オーバー・ザ・エアのアップデート; アプリはApp StoreとGoogle Playからダウンロードできます。アプリをCapacitor9に移行するときは

  1. Ship Capacitor 9以降のリリースライン (またはCapacitor 9以降を明示的にドキュメント化されたsemverメジャー)、Capacitor 8をサポート停止後 — プラグインガイドに記載されているものではなく、Cap 8ラインの前準備作業ではありません。 Capacitor 9 のネイティブプロジェクト (iOS と Android) に対してコンパイルしました。 そのバイナリはネイティブの基準を確立する Capgo チャンネルのターゲットです。
  2. Cap 9 WebView とプラグインの動作をテストした OVA バンドルのみを使用してから、ユーザーの手元にビルドが届いたら、依存関係を置きます。
  3. 生産チャンネルに戦略を設定し、各チャンネルに Cap 9 バンドルをアップロードしてください。 metadata その意図的なネイティブの基準アップロードのために、(ネイティブパッケージは変更されるべきです) を省略してください。 --auto-min-update-versionと omit --fail-on-incompatible Native + OVA チャンネルワークフローを参照してください。 --fail-on-incompatible and --auto-min-update-version Cap 9 API を使用する場合 __CAPGO_KEEP_0__ 9 のネイティブプロジェクト (iOS と Android) に対してコンパイルしました。 そのバイナリはネイティブの基準を確立する __CAPGO_KEEP_1__ チャンネルのターゲットです。.
  4. Cap 9 WebView とプラグインの動作をテストした OVA バンドルのみを使用してから、ユーザーの手元にビルドが届いたら、依存関係を置きます。

Capacitor 9 を準備する Capgo ビルド またはあなたのCI、リフレッシュエージェント 前 Capacitor 9 ストアのリリースを待って、パイプラインをユーザーがインストールするものと合わせる macOS ランナーはNode 24+と Xcode 27+; Linux ランナーはNode 24+とホストのAndroidツールをAGP 9.2.1 / Gradle 9.5.1と合わせたものでなければなりません (XcodeはmacOS専用) 作業の順序の推奨順序

before

  1. アップグレードインストールツール CIホストと開発者マシンに、Node、Xcode、Android Studio、JDKを含む上位バージョンにアップグレードしてください。 しない Cap 8 アプリの AGP の依存関係、Gradle のラッパー、またはその他の Android プロジェクトファイルを Cap 9 の値に上げることは、migration ステップの変更であるため、まだ行ってください。 bunx cap migrate アプリケーションとプラグイン (特にカスタム URL ハンドリングと Android ブリッジの使用) 内の非推奨のネイティブ API を修正します。
  2. Android Gradle ファイルとスクリプト (プロガードのデフォルト、開発スクリプト) をクリーンアップしてください。 アプリケーション code 内の非推奨のネイティブ API を修正します。 AppDelegate カスタム URL ハンドリングと Android ブリッジの使用を含むプラグイン (特に)
  3. 開発スクリプト プロガードのデフォルトgradle.propertiesAndroid --url Gradle
  4. Cap 9 に対する準備 アプリレベルでの使用は、Cap 9 のみのリリースまで、プラグイン SPM Cordova の変更は行わない。
  5. Cap 9 が GA になったり、受け入れたりしたら、 next(または bun add -d @capacitor/cli@next (or @latest 9.0 にアップデート bunx cap migrateCap 9 のネイティブビルドをストアに公開し、次に、対象のチャンネルで __CAPGO_KEEP_0__ OTA のロールアウトを再開または拡大する。 __CAPGO_KEEP_0__ 9 は、主に “古い機能の削減と現代の Android と Apple のツールチェーンとの調整” である。Cap 8 でその作業を行うことで、アップグレードの差分が小さく、プラグインが 8.x を今でも出荷しているチームと互換性がある。.
  6. 記事のクレジット storesに保存し、再開または拡大するCapgoのOTAの更新を対象のチャネルに適用します。

Capacitor 9 is mostly “pay down deprecations and align with modern Android and Apple toolchains.” Doing that work on Cap 8 keeps your upgrade diff small and your plugins compatible with the teams still shipping 8.x today.

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.

コンテキスト: ホームページのマーケティング コピー。役割: ウェブサイト コピー文。見られる場所: コンポーネント HumanSupport.astro、コンポーネント pricing/Plans.astro。メッセージ キー `home_hero_human_support` (ホーム ヒーロー ヒューマン サポート)。

Capgo gives you the best insights you need to create a truly professional mobile app.