読者です 読者をやめる 読者になる 読者になる

Cordovaプラグインを特定のプラットフォームだけにインストールする方法

Cordova

iOSアプリでアプリ内購入を実装するために cordova-plugin-purchase を使っているのですが、このプラグインをバージョンアップした後、Androidアプリではアプリ内購入を実装していないにも関わらず、権限を要求されるようになってしまいました。

これはちょっと受け入れがたいので、しばらくググってみると、以下のStack Overflowの質問に、似た状況が上がっていました:

blackberry 10 - Install cordova plugin for ONE platform only - Stack Overflow

ただ、回答としては、手作業でファイルを編集するか、あるいは、Plugmanを使うとプラットフォームを指定できるが、Plugmanにはバグがある、というようなことが書かれていて、ちょっと手間がかかりそうな感じです。

その後しばらく考えて、いい方法を思い付きました。

通常通りプラグインをインストールしてiOS版とAndroid版が入った後、ファイルの差分をチェックしてAndroid版のファイルと設定だけを元に戻すのです。

Cordovaのコマンドがやっているのは、結局、ファイルの配置と設定の追加であり、各プラットフォームのファイルはきれいに分離されているので、これで問題ないはずです。

実際やってみると、これでうまくいきました。

(環境:Cordova CLI 4.3.0)