PhoneGapはAdobeが開発、
PhoneGap/Cordovaとは
PhoneGapはAdobeが開発、
- PhoneGapで手軽にiPhone/
Androidアプリを作ろう - 連載期間: 2011/
8/31~2011/ 9/20 - PhoneGap 1.
0.0ベース - PhoneGapとは
- PhoneGapで Hello, World!
- PhoneGap:Build
- PhoneGap API一覧
- jQuery MobileとStorage APIでメモ帳アプリ
- Camera APIとHTML5 Canvas、
外部プラグインを利用したカメラアプリ
- 連載期間: 2011/
- もっと使おうPhoneGap/
Cordova 2. 0.0 - 連載期間: 2012/
8/7~2012/ 9/26 - PhoneGap 2.
0.0ベース - PhoneGapとCordovaの関係
- PhoneGap 2.
0.0の変更点 - PhoneGap 2.
0.0において、 ターミナル上でiOSプロジェクトの作成・ iOSシミュレータ起動 - weinreを使ったiOS/
Androidアプリの動作検証 - iOS/
Androidアプリケーションのファイルシステム構造 - iOS/
AndroidアプリでFile APIを利用したファイル操作(ファイル・ ディレクトリ読み書き/ファイルダウンロード・ アップロード)
- 連載期間: 2012/
PhoneGap 2.1.0リリース、主要な11の変更点
9月21日(米国時間)、
Cordovaの主要開発者の一人、
- Automatic Reference Counting
(ARC) のサポート - パッケージインストーラ
(.pkg) の削除 - CORDOVALIBの削除
- VERSIONファイルの削除
- CordovaLibサブプロジェクトより、
CordovaLibApp/ CordovaLibTestを削除 - プロジェクトを作成するコマンドライン用のスクリプトにて、
パスにスペースが含まれる場合でも正常に動作するように - ホワイトリストにフルパス表記をサポート。より厳格なルールで運用ができるように
- JavaScript->Nativeブリッジ改修。scroll CSSを使用した後でclick/
touchイベントが発火しない問題を解消 - iOS6に対応
- 特定の環境下におけるコンパイルエラーを修正
- プラグインシグネチャの更新
iOS向け開発環境の変更点について、
- Automatic Reference Counting
(ARC) サポート - iOS6対応
- 複数のCordovaバージョンを同時にインストールできるように
- インストーラがなくなり、
必要なファイルをすべて手動でインストールする必要がある - その他、
バグフィックス
それでは主要な11の変更点を見ていきましょう。
1. Automatic Reference Counting(ARC)のサポート
メモリ管理--retain, release, autoreleaseコードの挿入をコンパイラに行わせるAutomatic Reference Counting(ARC)をサポートしました。ARCを用いる場合、
2. パッケージインストーラ(.pkg)の削除
Mac OS X 10.
Cordovaの開発チームは
Mac OS X環境でPhoneGapを使用する場合は、
3. CORDOVALIB変数の削除
PhoneGap 2.
使用するCordovaLibサブプロジェクトのバージョンを変更する場合は、
4. VERSIONファイルの削除
成果物よりVERSIONファイルが削除されました。VERSIONファイルはCordovaLibやDevice APIでデバイスの情報を取得した際、
この実装依存により、
5. CordovaLibサブプロジェクトより、CordovaLibApp/CordovaLibTestを削除
Schemeメニューに表示されていた、
6. プロジェクトを作成するコマンドライン用のスクリプトにて、パスにスペースが含まれる場合でも正常に動作するように
ターミナル用でXcodeプロジェクトを作成する、
既存のコマンド群をインストールしている場合は、
7. ホワイトリストにフルパス表記をサポート。より厳格なルールで運用ができるように
これまでホワイトリストには、
たとえばgihyo.
ホストの記述例 | 動作 |
---|---|
image. | http:// |
http:// | http:// |
8. JavaScript->Nativeブリッジ改修。scroll CSSを使用した後でclick/touchイベントが発火しない問題を解消
JavaScriptからネイティブの機能を呼び出す、
注意点として、
9. iOS6に対応
先日リリースされたiOS 6に対応しました。細かい修正点については後述の
10. 特定の環境下におけるコンパイルエラーを修正
特定の環境下において、
11. プラグインシグネチャの変更
プラグインメソッドのシグネチャが変更になりました。旧来のシグネチャは非推奨(deprecated)となります。
PhoneGap 2.1.0のインストール方法(iOS)
PhoneGap 2.
手順は次のとおりです。
- PhoneGap 2.
1.0をダウンロードし、 解凍 - lib/
ios/ CordovaLibディレクトリをユーザディレクトリ直下にコピー - lib/
ios/ binディレクトリをユーザディレクトリ直下にコピー
1. PhoneGap 2.1.0をダウンロードし、解凍
PhoneGap :Download & Archivesにアクセスし、
2. lib/ios/CordovaLibディレクトリをユーザディレクトリ直下にコピー
lib/
リネームした場合や、
3. lib/ios/binディレクトリをユーザディレクトリ直下にコピー
lib/
なお、
また、
changelog/JIRAから追う、PhoneGap 2.1.0の変更点
GitHubのchangelogとJIRAのチケットより、
iOS
- PhoneGap全体の動作について
- CB-675: 複数のPhoneGapバージョンをXcodeにインストールできるように
- CB-45: ホワイトリストでフルパスのURL表記をサポート
- CB-1000: JSONKitに関連する名前空間の問題を修正
- CB-1138: デフォルトのロギングレベルにて、
ファイルの中身をコンソールに書き出さないように - CB-1164: Xcode 4.
4のあたらしいLLVMにて、 ワーニングレポートが出力される問題を修正 - CB-1182: iOS6の画面回転について、
非推奨となったメソッドをコードから削除 - CB-1192: Build SettingsにGCC_
THUMB_ SUPPORT=NOを追加 - CB-1223: CORDOVALIB変数に、
CordovaLibの場所を直書きするように - CB-1315: ビューのサイズを設定する際に、
rootViewControllerを使用するように - CB-1380: iframeにデータURIスキームを渡した際に、
Received Unhandled URLエラーが返る問題を修正
- PhoneGapインストール
- PhoneGapコマンドラインツール
- PhoneGap同梱ファイル
- PhoneGapドキュメント
- CB-1105: iOS Plugin Upgrade Guideに、
JSONKitの名前空間に関するシグネチャの変更手順を追加 - CB-1186: README.
md/ FirstRun. mdについて、 新規インストール時の手順を追記 - CB-1188: プラグインシグネチャの更新に関して、
Update Plugin Upgrade Guideに追記 - CB-1237: Cordova JavaScript Exception Logging.
mdに、 CDVDebugWebView. mへ"-fno-objc-arc"オプションを追加する手順を追記 - CB-1258: execメソッドのテクニックに関するドキュメント--Changing the JavaScript to Native Bridge Modeを追加
- CB-1105: iOS Plugin Upgrade Guideに、
- Contacts API
- Events API
- CB-593: scroll CSSを使用した後でclick/
touchイベントが発火しない問題を修正
- CB-593: scroll CSSを使用した後でclick/
- File API
- FileTransferのuploadにおいて、
不正なURLを指定した際にnull dereferenceが返る問題を修正
- FileTransferのuploadにおいて、
- Media API
- Storage API
- プラグイン
Android
- PhoneGap 全体の動作について
- CB-1420: JavaScript更新 (commit log)
- CB-1409: menuボタンをクリック時に
「appView. getHitTestResult() the call to getHitTestResult is null.」 エラーが発生し、 Jellybeanがクラッシュする問題を修正 (commit log) - データURIスキームをサポート (commit log)
- CB-1304: PhoneGap ReferencesをApache Cordovaにアップデート (commit log)
- 起動時にVFYでadb waringsが表示されていた問題を修正 (commit log)
- CB-1235: Windows用のAndroid/
createスクリプトの問題を修正 - LOAD_
URL exec bridgeの実装 (commit log) - cordova.
android. jsのexec()呼び出しの実装を更新 (commit log) - CordovaChromeClient/
CordovaWebViewClientにて、 API lint warningsが表示されていた問題を修正 (commit log) - CB-1257: Android 4.
1においてnavigator. app. backHistory()を呼び出すと例外エラーが発生する問題を修正 (commit log) - Android SDKをGoogle APIs:16にアップデート (commit log)
- PhoneGap 同梱ファイル
- CB-1335: www/ アプリケーションをアップデート (commit log)
- res/
xml/ config. xmlにEchoプラグインの記述を追加 (commit log) - res/
xml/ config. xmlのフォーマット変更 (commit log) - .gitignoreファイルを更新 (commit log)
- CB-1147: Hello, Worldサンプルアプリが特定の環境でクラッシュする問題を修正
(commit log)
- PhoneGap ドキュメント
- CB-1303: Callback プロジェクトに関する記述を削除 (commit log) ※ Callback は Apache Cordovaの旧プロジェクト名
- CB-1301: releasenotes.
mdを削除 - CB-1305: guides/
Cordova Upgrade Guide. mdを削除 (commit log)
- Camera API
- CB-1293: Camera.
getPictureにて、 AndroidのPicasaアルバムから写真を選択した際にクラッシュする問題を修正 - CB-1212: カメラを起動して写真を撮らずにキャンセルした場合、
ExifHelperで致命的なエラーが発生する問題を修正 (commit log)
- CB-1293: Camera.
- Contacts API
- 連作先取得時の動作速度を高速化 (commit log)
- Events API
- backbuttonの問題を修正 (commit log)
- CB-1289: menubuttonイベントが2回重複して発火する問題を修正 (commit log)
- pauseイベントでJSタイマーが停止後、
再度有効にならない問題を修正 (commit log) - onlineイベントを実装 (commit log)
- CB-1181: onKeyUpイベントが発火しない問題を修正 (commit log)
- File API
- mobile-specのテストケースにおいて、
downloadメソッドで 「should handle unknown host」 エラーが発生していた問題を修正 (commit log) - CB-1290: mobile-specのテストケースにおいて、
uploadメソッドでエラーが発生していた問題を修正 (commit log) - CB-312: HTTPS経由でファイルをアップロードしようとすると、
OutOfMemoryErrorエラーが発生していた問題を修正 - CB-930: DirectoryReaderオブジェクトにおいて、
アクセスできないディレクトリを読みだそうとした場合にnullエラーコードが出力される問題を修正 - CB-1151: FileTransferにデコードしたURLを渡した場合、
404エラーが返る問題を修正 (commit log) - アップロード時にヘッダを送信できるように (commit log)
- mobile-specのテストケースにおいて、
- Media API
- CB-1358: 録音中に電話着信した際、
強制終了する問題を修正 (commit log) - CB-1267: Mediaオブジェクトの作成時にリセットをするように (commit log)
- CB-1264: stop()後、
play()メソッドを呼び出すとmOnErrorListener is null. Failed to send MEDIA_ ERROR message.エラーが表示されていた問題を修正 (commit log) - CB-1196: ローカルmp3ファイルの再生完了時に、
onSuccessイベントが発火していない問題を修正 (commit log) - CB-1206: file uriを指定しても正確なハンドルがされない問題を修正 (commit log)
- CB-1358: 録音中に電話着信した際、
- Notification API
- CB-1217: notification.
alertで表示したダイアログが、 backボタンをクリックしても動作しない問題を修正 (commit log)
- CB-1217: notification.
- プラグイン
- コンフリクトしていたプラグインファイルをマージ (commit log)
- ベンチマーク用のEchoプラグインを実装 (commit log)
iOSではiOS6リリースにおける内部実装の変更と、
各種返り値や細かい挙動に修正が入っているため、