PhoneGAP、iOS、“getFile”回调不调用 JavaScript 回调

Posted

技术标签:

【中文标题】PhoneGAP、iOS、“getFile”回调不调用 JavaScript 回调【英文标题】:PhoneGAP, iOS, 'getFile' callback doesn't invoke JavaScript Callback 【发布时间】:2013-09-12 14:12:27 【问题描述】:

环境

ios 6.1 xcode PhoneGAP

代码 sn-p

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

有了上面的代码

    “设备就绪”被调用。 'requestFileSystem'回调被成功调用。 'fileSystem.root.getFile' 从不回调(既不成功也不失败)。

问题描述

    使用 xcode@CDVFile.m 进行跟踪很明显,虽然 sendPluginResult 已成功调用,但 javascript 方法并未被执行。 按主页按钮将应用程序置于后台并重新激活它使上述流程工作 在 iPhone 模拟器上无法产生此问题 扩展和折叠通知窗格也会导致 JScript 回调被执行

什么可能导致这个问题?

上述用例可能有什么问题?

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

上面提到的是指定具有 ~invalid~ js 文件名的部分的副作用,似乎名称解析对于 Safari @ iOS 是区分大小写的(与某些桌面浏览器相反),我确实找到了以下链接有助于查明这一点。 http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers(具体是新的 JScript 调试功能)

【讨论】:

您好,我也遇到了同样的问题。您能否提供更多详细信息,您是如何解决该问题的? dimko1 在下面查看我的解决方案,您可能会遇到同样的问题。【参考方案2】:

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

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

这里对上面的小修正:

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

只是想在这里发帖,为大家谋福利。

【讨论】:

以上是关于PhoneGAP、iOS、“getFile”回调不调用 JavaScript 回调的主要内容,如果未能解决你的问题,请参考以下文章

phonegap ios的奇怪错误

PhoneGap 插件:从未调用过 AudioEncode 成功回调

PhoneGap navigator.camera.getPicture 不触发回调

PhoneGap / Cordova 回调错误 - 在 PhoneGap 中未执行 RestKit 完成功能

PhoneGap FileReader/readAsDataURL 不触发回调

使用PhoneGap创建文件