我正在使用Phonegap / Cordova应用程序,使用Cordova 2.0,并且在iOS 6可用之后 - 我们突然开始遇到问题。它位于文件对象的readAsText方法中。
以下是代码的一部分。我们使用facebook SDK发布Facebook Single Sign-On,因此我们有一个文件,写在文件夹中。然后我们尝试读取它并从中获取令牌。
所以 - 在iOS 4和iOS5上它正在运行 - 即你会看到两个警报--111和222.但是在iOS6上第二个警报不会发生。或者换句话说 - 虽然我看到文件存在,但是onloadend回调永远不会触发。
// start the file interaction:
window.requestFileSystem(
LocalFileSystem.PERSISTENT,
0,
function(fileSystem) {
fileSystem.root.getFile(
"FacebookData/facebookData",
null,
function(fileEntry) {
fileEntry.file(
function(file) {
alert('111');
var reader = new FileReader();
reader.onloadend = function(evt) {
alert('222');
// do something with the file ..
}; // end of onloadend
reader.readAsText(file);
},
fail
); // end fileEntry.file
},
fail
); // end getfile
},
fail
); // end window.requestFileSystem
函数“失败”根本不会触发,而且 - 所有这些都在try-catch中 - 但它也不会抛出异常。
而且 - 在iOS 4/5上它只发生一次,但在iOS 6上它会发生几次,就像你在一个按钮上点击几次然后执行代码一样。
有没有人遇到过这样的错误?
答案 0 :(得分:2)
已知问题,显然有一个修复: https://issues.apache.org/jira/browse/CB-1219
https://github.com/apache/incubator-cordova-js/pull/22
但我还没有测试过。