Ionic 2文件传输.download在iOS上没有反应

8

我已经在Android上开发了一个Ionic 2应用程序,现在正在尝试使其在iOS上运行。

该应用程序在初始登录时会下载很多文件,我使用 Ionic-Native Transfer插件来完成。在Android上一切正常,但在iOS上,应用程序似乎卡在fileTransfer.download()函数的承诺中,甚至不会抛出错误。

示例代码:

private downloadFile(downloadURL: string, filename: string) {
    return new Promise((resolve, reject) => {
        this.fileTransfer.download(downloadURL, this.file.dataDirectory + filename, true).then(_ => {
            console.log("download of " + filename + " complete");
            resolve("download finished");
        }).catch(err => {
            console.log(err);
            reject("download error");
        });
    });
}

我也尝试在iOS中使用this.file.documentsDirectory,但仍然没有得到任何错误或成功的输出。
downloadURL来自firebaseStorage链接,但我也用普通的下载链接进行了测试。
我认为这与权限有关,但还没有找到解决方案。另一个假设是,在iOS上存在多个线程的限制,大约有30-100个promise活动。
但奇怪的是缺少错误消息,它只是卡住了,没有一个下载完成。
任何帮助都将不胜感激!
编辑:
我仍然没有找出问题的原因,但与此同时,Ionic发布了Transfer插件的新版本,现在在官方文档中称为FileTransfer。一旦我将我的代码更改为使用新的FileTransfer插件,问题就消失了。
我希望这能帮助那些遇到同样问题的人。

你看过Josh Morony在iPhone上运行Ionic应用程序时调试的一些视频吗?https://www.youtube.com/watch?v=9J8AxhDxtTE&feature=youtu.be - JGFMK
谢谢你提供的链接,我现在已经解决了我的问题,通过更新到Ionic最新的FileTransfer插件,这个插件是在我第一次发布帖子和今天之间发布的。我已经编辑了我的帖子。 - Jonas Ostergaard
很高兴你解决了它。现在你可以回答自己的问题了。其他人已经点赞/收藏了这个问题。所以如果他们看到这个问题被解决了,也会对他们有所帮助。 - JGFMK
1个回答

0
我还没有弄清问题的原因,但与此同时,Ionic发布了一个新版本的Transfer插件,现在在官方文档中称为FileTransfer。一旦我更改了我的代码以使用新的FileTransfer插件,问题就消失了。
我希望这可以帮助那些面临相同问题的人。

2
我即使使用新的ionic-native FileTransfer插件,仍然遇到完全相同的问题。 - askilondz
同样的问题出现在FileTransfer插件上,目前在iOS上仍无法正常工作。 - rolivares

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接