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)