PhoneGap/cordova 3.0.0rc1でpluginsを利用する
先日、「Ubuntu12.4にphonegap(cordova)をインストールしてカジュアルにネイティブアプリを作成する・・・ための環境を作る呪文」という記事を書きましたが一つ困ったことがある。
$ cordova -v 3.0.0rc1
現在zipで配布されているPhoneGapの最新バージョンは"2.9.0"なのに対し、今回インストールしたのは、"3.0.0"なのだ。
ドキュメントやアップグレードガイドもまだ整っておらず、いくつかネットの情報を漁っても2.Xとか1.Xとかの情報ばかりで、3.0を挙げているものがほとんど無かった。
……いや、僕もこのタイミングでまさかメジャーバージョンアップが入るとは思ってなかった。少し前に入れたMacbook Airのversionは2.9だったんだ。情報をちゃんと追ってなくて申し訳ない。
ともあれ、いざアプリを作ろうとして、pluginsの使い方がわからずに困っていた。
いろいろ試行錯誤した末に、ようやく光明が見えたので、記録しとく。
今回は例としてFile APIを利用するとする。
CLIからpluginsを追加する
PhoneGap/cordova APIのリポジトリは以下においてあった(これだと分かるまでに相当の時間を費やした……)ので、そこからインストールする。
https://github.com/apache:github.com/apache
$ cordova plugin add https://github.com/apache/cordova-plugin-file $ cordova plugin add https://github.com/apache/cordova-plugin-file-transfer
config.xmlにpluginの利用を明記する
platform毎にpluginの設定をconfig.xmlに記述する必要がある。androidは以下のファイル
の、"plugins"のセクションに以下を追加。
<plugin name="File" value="org.apache.cordova.FileUtils" /> <plugin name="FileTransfer" value="org.apache.cordova.FileTransfer" />
AndroidManifest.xmlにpermissionを追加
外部ストレージへのアクセス権が必要なので、permissionを追加する
"manifest"のセクションに"uses-permission"を追加する。詳しくはAndroidのドキュメントを参照してくれたまえ。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />