PhoneGap 2.3.0での変更点
田中です。PhoneGapブログにて、近日リリースされるiOS版PhoneGap 2.3.0の機能ハイライトが紹介されていたので紹介したいと思います。
1. Cordova.plistはconfig.xmlに変更となります
これまでAndroid版ではxmlという形式で、iOS版ではplist形式でPhoneGapに関する設定を記述していました。PhoneGap 2.3.0からは、Androidと同じconfig.xmlのフォーマットに切り替わるようです。
2. ChildBrowserと同じ機能を有する「InAppBrowser」という機能が追加されます
window.openに、下記のような指定方法が可能となります。イベントも受け付けます。
var ref = window.open('http://google.com', '_blank');
ref.addEventListener('loadstart', function(event) { alert(event.type + ' - ' + event.url); } );
ref.addEventListener('loadstop', function(event) { alert(event.type + ' - ' + event.url); } );
ref.addEventListener('exit', function(event) { alert(event.type); } );
なお、targetは_blankだけでなく、_selfと_systemという指定も可能です。_systemとすると、システムのWebブラウザーで開きます。Monacaでいうmonaca.invokeBrowserですね。
3. ホワイトリストの仕様変更
PhoneGapの設定で指定するホワイトリストURLは、今後アプリのメインWebViewのみ適用されるようになります。その結果、プラグインから接続をした場合は対象外となります。
4. デバイスAPIの仕様変更
device.platformが"iPhone"や"iPad"と返していたものが、"iOS"と返されます。一方、device.nameにて"iPhone"などの表記が返されます。
それ以外にも、LocalNotificationイベントをプラグインが受け取る仕組みの追加やCLIコマンドの改良などが加わっています。
最近は少しリリースのペースも落ちてきたかなと思いましたが、まだ仕様変更が含むアップグレードが続きそうです。Monacaでは今のところPhoneGap 2.2をサポートしていますので、現時点でアップデートを行う予定はありませんが、皆さまの参考になれば幸いです。