PhoneGAP,iOS,'getFile'回调不会调用JavaScript回调

时间:2013-09-12 14:12:27

标签: javascript iphone ios objective-c cordova

环境

  • iOS 6.1
  • xcode的
  • 的PhoneGap

代码段

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'从不回电(既不成功也不失败)。
  4. 问题描述

    1. 使用xcode @ CDVFile.m进行跟踪很明显,尽管sendPluginResult被调用了SUCCESSFULY,但JavaScript方法仍未执行。
    2. 按主页按钮将应用程序置于后台并重新激活它使上述流程正常工作
    3. 在iPhone模拟器上无法生成此问题
    4. 扩展和折叠通知窗格也会导致JScript回调执行
    5. 可能导致此问题的原因是什么?

      上述用例可能出现什么问题?

      任何帮助将不胜感激

2 个答案:

答案 0 :(得分:2)

上面提到的是指定具有~infile_js文件名的部分的副作用,看起来名称解析对于Safari @ iOS是区分大小写的(与某些桌面浏览器相比),我发现以下链接确实如此有助于确定这一点。 http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers(特定的新JScript调试功能)

答案 1 :(得分:1)

嘿,我遇到了同样的问题,但我认为这是一个不同的根本原因。我在这里写了解决方案:

https://groups.google.com/d/msg/phonegap/skiqf9wQCbY/5UuyCz1cSwAJ

上面的小修正:

https://groups.google.com/d/msg/phonegap/skiqf9wQCbY/jq5pJbwMFS8J

只是想在这里发帖以获得每个人的好处。