PhoneGap に Canvas2ImagePlugin インストール
メモ。
PhoneGap に Canvas2ImagePlugin をインストールしようとしたところ、
1 |
phonegap local plugin add https://github.com/devgeeks/Canvas2ImagePlugin.git |
のコマンドが
1 |
-bash: phonegap: command not found |
となるので
1 |
npm install -g phonegap@latest |
しました。
デスクトップアプリだけではコマンドが使えない??よくわからないけど・・・
そしてあらためて
1 |
phonegap local plugin add https://github.com/devgeeks/Canvas2ImagePlugin.git |
すると今度は
1 2 3 4 |
[warning] The command `phonegap local <command>` has been DEPRECATED. [warning] The command has been delegated to `phonegap <command>`. [warning] The command `phonegap local <command>` will soon be removed. Error: Current working directory is not a Cordova-based project. |
…プロジェクトのディレクトリに移動する必要があるらしい。
移動して再度・・・
1 2 3 |
cd /Users/xxxxx/Documents/PhoneGap/SpacePhoto phonegap local plugin add https://github.com/devgeeks/Canvas2ImagePlugin.git |
こうゆうエラーが出ました…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[warning] The command `phonegap local <command>` has been DEPRECATED. [warning] The command has been delegated to `phonegap <command>`. [warning] The command `phonegap local <command>` will soon be removed. Installing "org.devgeeks.Canvas2ImagePlugin" for browser Unable to load PlatformApi from platform. Error: Cannot find module '/PATH/platforms/browser/cordova/Api.js' Failed to install 'org.devgeeks.Canvas2ImagePlugin': Error [ERR_UNHANDLED_ERROR]: Unhandled error. (The platform "browser" does not appear to be a valid cordova platform. It is missing API.js. browser not supported.) at EventEmitter.emit (events.js:197:19) at EventEmitter.module.exports.emit (/usr/local/lib/node_modules/phonegap/node_modules/cordova-common/src/events.js:71:17) at Object.getPlatformApiFunction (/usr/local/lib/node_modules/phonegap/node_modules/cordova-lib/src/cordova/util.js:500:20) at Object.getPlatformApi (/usr/local/lib/node_modules/phonegap/node_modules/cordova-lib/src/platforms/platforms.js:55:25) at handleInstall (/usr/local/lib/node_modules/phonegap/node_modules/cordova-lib/src/plugman/install.js:593:29) at /usr/local/lib/node_modules/phonegap/node_modules/cordova-lib/src/plugman/install.js:357:28 at _fulfilled (/usr/local/lib/node_modules/phonegap/node_modules/q/q.js:787:54) at self.promiseDispatch.done (/usr/local/lib/node_modules/phonegap/node_modules/q/q.js:816:30) at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/phonegap/node_modules/q/q.js:749:13) at /usr/local/lib/node_modules/phonegap/node_modules/q/q.js:509:49 Error: Unhandled error. (The platform "browser" does not appear to be a valid cordova platform. It is missing API.js. browser not supported.) |
どうも、プラットフォームのブラウザを削除して追加しなおすと良いらしいです・・・
- Phonegap is unable to install cordova plugins: The platform “browser” does not appear to be a valid cordova platform · Issue #749 · phonegap/phonegap-cli
- PhoneGap CLI 3.6.3
1 2 3 4 |
$ phonegap platform remove browser Removing platform browser from config.xml file... $ phonegap platform add browser |
すると、さっきエラーのあった
1 |
/PATH/platforms/browser/cordova/Api.js |
が生成されてる!
再度
1 |
phonegap local plugin add https://github.com/devgeeks/Canvas2ImagePlugin.git |
すると・・・
1 2 3 4 5 6 7 8 9 10 11 12 |
[warning] The command `phonegap local <command>` has been DEPRECATED. [warning] The command has been delegated to `phonegap <command>`. [warning] The command `phonegap local <command>` will soon be removed. Plugin "org.devgeeks.Canvas2ImagePlugin" already installed on browser. Plugin "org.devgeeks.Canvas2ImagePlugin" already installed on ios. Adding org.devgeeks.Canvas2ImagePlugin to package.json Saved plugin info for "org.devgeeks.Canvas2ImagePlugin" to config.xml |
warning は出てるけど何とか行ったんじゃないでしょうか。
アプリ側に実装を試してみると…
1 2 3 4 5 6 7 8 9 |
window.canvas2ImagePlugin.saveImageDataToLibrary ( function(msg){ alert(msg); }, function(err){ alert(err); }, document.getElementById('canvas') ); |
PCではalertが表示されるけどAndroidではうんともすんとも言わない orz
どうも、PhoneGap Developer App では追加したプラグインは動かないぽい。
- FAQ/Troubleshooting | PhoneGap Docs
- 3rd party plugins don’t work? · Issue #247 · phonegap/phonegap-app-developer
ちょっと一旦諦めてひとまず初 buildしてみる。
…buildしてみたら今度はシミュレータで上手く行っていた所が動かない orz
とりあえず今日はここまで… また追記します。
追記
実機で動くようになりました