私は PhoneGap (現在はバージョン 2.0 の Apache Cordova) を使用するアプリケーションに取り組んでおり、PhoneGap File API を使用してファイルを書き込みます。
私が使用するファイル API は、http: //docs.phonegap.com/en/2.0.0/cordova_file_file.md.html#Fileで参照できます。
https://developer.blackberry.com/html5/downloadから Ripple Emulator (0.9.9beta) を使用して、Chromeでアプリケーションをテストします。
しかし、Ripple は PhoneGap File API を正しく処理できませんでした。
例えば:
PERSISTENT ディレクトリにファイル (root/foo.json) を作成したい
function onSuccess(fileSystem) {
fileSystem.root.getDirectory("dir", {create: true}, function(dirEntry){
dirEntry.getFile("foo.json", {create: true}, function(fileEntry){
fileEntry.createWriter(function(writer){
writer.write(JSON.stringify(fooData));
}, onfail);
}, onfail);
}, onfail);
}
function onfail(error)
{
console.log(error.code);
}
// request the persistent file system
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onfail);
適切な場所に適切なファイルを作成した iOS シミュレーターでは正常に動作しますが、クロムで実行されている Ripple Emulator では、onfail コールバックが発生し、エラー コード 10 (FileError.QUOTA_EXCEEDED_ERR) が発生しました。
ここでも同様の質問をしている人を見つけました: Is it can test phonegap application outside emulator?
しかし、まだ答えはありません。
Ripple エミュレーターは現在、PhoneGap API に対して正しく動作しませんか? それとも設定ミス?