3

環境

  • iOS6.1
  • xcode
  • 電話ギャップ

コードスニペット

document.addEventListener('deviceready', function () {
  window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
    fileSystem.root.getFile("state.json", {}, success, faliure);
  });
});

上記のコードで

  1. 「deviceready」が呼び出されます。
  2. 「requestFileSystem」コールバックが正常に呼び出されました。
  3. 'fileSystem.root.getFile'は決してコールバックしません (成功でも失敗でもありません)。

問題の説明

  1. xcode @ CDVFile.m でトレースすると、sendPluginResult が正常に呼び出されたにもかかわらず、JavaScript メソッドが実行されていないことが明らかです。
  2. ホームボタンを押してアプリをバックグラウンドにし、再起動すると上記の流れになります
  3. iPhone シミュレーターでは、この問題は発生しません
  4. 通知ペインを拡張および折りたたむと、JScript コールバックも実行されます

この問題の原因は何ですか?

上記のユースケースで何が問題になる可能性がありますか?

どんな助けでも大歓迎です

4

2 に答える 2

2

上記は、~invalid~ js ファイル名を持つセクションを指定した場合の副作用です。Safari @ iOS では名前解決で大文字と小文字が区別されるようです (一部のデスクトップ ブラウザーとは対照的です)。これ。 http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers (特定の新しい JScript デバッグ機能)

于 2013-09-15T08:29:46.683 に答える