在Cordova 2.0应用程序 - 在iOS6上readAsText中断...

时间:2012-09-25 16:44:43

标签: file cordova ios6

我正在使用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上它会发生几次,就像你在一个按钮上点击几次然后执行代码一样。

有没有人遇到过这样的错误?

1 个答案:

答案 0 :(得分:2)

已知问题,显然有一个修复: https://issues.apache.org/jira/browse/CB-1219

https://github.com/apache/incubator-cordova-js/pull/22

但我还没有测试过。