Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
requestFileSystem在iOS上从不返回Cordova 3.4_Ios_Cordova_Cordova 3_Cordova Plugins - Fatal编程技术网

requestFileSystem在iOS上从不返回Cordova 3.4

requestFileSystem在iOS上从不返回Cordova 3.4,ios,cordova,cordova-3,cordova-plugins,Ios,Cordova,Cordova 3,Cordova Plugins,我正在更新我的cordova应用程序,该应用程序上一次发布于1月份,在文件插件发生重大变化之前。在ripple(旧式)中,一切都可以正常工作,但在iOS模拟器或iOS设备(iOS 7.1)上运行时,我的window.requestFileSystem调用将永远不会返回(既不会失败也不会成功)。持久文件系统和临时文件系统都会发生这种行为 我猜我有一些配置问题。然而,我尝试了所有的方法,但都没有效果。添加控制台消息时,我在代码中找到window.requestFileSystem调用,但会在插件的r

我正在更新我的cordova应用程序,该应用程序上一次发布于1月份,在文件插件发生重大变化之前。在ripple(旧式)中,一切都可以正常工作,但在iOS模拟器或iOS设备(iOS 7.1)上运行时,我的window.requestFileSystem调用将永远不会返回(既不会失败也不会成功)。持久文件系统和临时文件系统都会发生这种行为

我猜我有一些配置问题。然而,我尝试了所有的方法,但都没有效果。添加控制台消息时,我在代码中找到window.requestFileSystem调用,但会在插件的requestFileSystem.js中调用requestFileSystem。我还发现CDVFile方法都被调用(按以下顺序:initWithWebView、pluginInitialize、getExtraFileSystemPreference、getAvailableFileSystems、registerExtraFileSystems(注册库、库无同步、文档、文档无同步、缓存、捆绑、根))

但是,requestFileSystem.js中对“requestFileSystem”的exec调用永远不会返回,也永远不会执行CDVFile中的方法。(请注意,这是在DeviceRady事件返回后发生的。)


关于什么可能出错或如何进一步调试的任何建议?

证明这里遇到的问题与文件系统插件没有直接关系。requestFileSystem(或上面提到的其他文件插件调用,如getDirectory)从未返回的原因最终是cordova.exec调用从未返回-这将在控制台插件(org.apache.cordova.console)加载后的任何时间发生(随后的任何cordova.exec调用都将挂起)。删除控制台插件修复了我的问题


为什么删除控制台插件是修复我不太确定。但是,我有自己的logger.js,它可能会以某种方式干扰控制台插件?希望这是我的代码特有的问题。不确定为什么这只是我在iOS上遇到的问题,而不是安卓上遇到的问题。

您使用的是什么版本的文件插件?使用最新发布的版本(1.1.0)更新:总体上仍在与文件系统问题作斗争。但是,如果我在deviceready之后立即调用requestFileSystem,则不会出现requestFileSystem永不返回的问题(而不是稍后)。我的应用程序正在使用jquery mobile和主干网以及其他各种库,但目前不知道是什么导致了这种行为。在使用文件插件之前,您必须等待deviceReady事件触发,但您是说这会失败:
setTimeout(someFunctionThatRequestsFileSystem,10000)
?也就是说,DeviceRady肯定会在10秒内被调用,但超时时间到期时您将不会得到响应?此外,可能需要删除所有其他库(即使在演示项目中)以找到问题的根源。我知道cordova控制台插件必须在iOS/Android上做不同的事情,所以这可能就是你看到不同行为的原因。如果您可以在代码中准确地复制导致问题的原因,那么您可能应该提交一个问题,这样插件就可以更好地避免类似的事情(或者至少可以让大家知道什么是不应该做的)?