CordovaプラグインとIonic Native
Capacitorを使用するアプリを開発する場合、CordovaとIonic Nativeの両方のプラグインを使用することが可能です。
Cordovaプラグインのインストール
Capacitorプラグインは、通常のパッケージマネージャを使用してインストールされ、その後ネイティブプロジェクトに同期されます(複数可)。CapacitorのCordovaプラグインもインストール方法は同じです。
プラグインをインストールし、同期し、必要なネイティブプロジェクトの設定を完了します(Variables and Hooks を参照)。
npm install cordova-plugin-name
npx cap sync
Cordovaプラグインに Ionic Native ラッパーがある場合、それをインストールすることでTypeScriptにも対応できます:
npm install @ionic-native/plugin-name
Cordova プラグインの更新
普段お使いのパッケージマネージャでプラグインを更新します。そして、更新されたプラグインをネイティブプロジェクトに同期させます。
npm install cordova-plugin-name@version
npx cap sync
インストールされているプラグインのバージョンを確認する
次のコマンドで、プロジェクトにインストールされている Capacitor および Cordova プラグインのリスト (および正確なバージョン番号) を確認します:
npx cap ls
互換性の問題
Capacitor と一部の Cordova プラグインには互換性の問題がある可能性があります。多くの公式 Cordova プラグインは使用しないでください。Capacitor は 代替となる公式プラグイン を提供しています。変数やフックを使用する Cordova プラグインは、部分的に互換性がある場合があります。一部の Cordova プラグインは完全に互換性がありません このリスト を参照してください)。
もし既存の Cordova プラグインに問題を発見した場合は、問題の詳細とプラグイン情報を提供して let us know してください。
変数とフック
Capacitor は Cordova のインストール変数、自動設定、フックをサポートしていません。これは、ネイティブプロジェクトのソースコードをコントロールさせるという我々の哲学によるものです(つまり、フックのようなものは不要です)。プラグインに変数や設定が必要な場合は、プラグインの plugin.xml
と iOS や Android で必要な設定を対応させ、手動でそれらの設定を適用する必要があります。
iOS と Android の設定ガイドで、それぞれのプラットフォームの設定方法について参照してください。
既知の非互換プラグイン
プラグインが競合したり、ビルドの問題を引き起こすことが知られている場合、npx cap sync
を実行するときにスキップされます。
以下は、既知の非互換プラグインのリストです。
cordova-plugin-add-swift-support
(not needed, Capacitor has built in Swift support)cordova-plugin-admobpro
(see details)cordova-plugin-braintree
(see details)cordova-plugin-code-push
(see details)cordova-plugin-compat
(not needed)cordova-plugin-console
(not needed, Capacitor has its own)cordova-plugin-crosswalk-webview
(Capacitor doesn't allow to change the webview)cordova-plugin-fcm
(see details)cordova-plugin-firebase
(see details)cordova-plugin-ionic-keyboard
(not needed, Capacitor has it's own)cordova-plugin-ionic-webview
(not needed, Capacitor uses WKWebView)cordova-plugin-music-controls
(causes build failures, skipped)cordova-plugin-qrscanner
(see details)cordova-plugin-splashscreen
(not needed, Capacitor has its own)cordova-plugin-statusbar
(not needed, Capacitor has its own)cordova-plugin-wkwebview-engine
(not needed, Capacitor uses WKWebView)cordova-plugin-googlemaps
(causes build failures on iOS, skipped for iOS only)