Ionic 2 fileTransfer.download не реагирует на iOS

Я разработал приложение Ionic 2 для Android и теперь пытаюсь заставить его работать на 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");
        });
    });
}

Я также пытался использовать this.file.documentsDirectory вместо этого для iOS, но я все еще не получаю никаких сообщений об ошибках или успехах.

URL-адреса загрузки взяты из ссылки firebaseStorage, но я также проверил ее с обычным URL-адресом загрузки.

Я предполагаю, что это как-то связано с разрешениями, но пока не нашел решения. Другим предположением было бы то, что существует ограничение на количество потоков на iOS, где в реальном времени находится от 30 до 100 промисов.

Но странно то, что отсутствуют сообщения об ошибках, они просто зависают, и ни одна загрузка не заканчивается.

Любая помощь приветствуется!

ИЗМЕНИТЬ:

Я до сих пор не выяснил причину проблемы, но тем временем Ionic выпустил новую версию плагина Transfer, который теперь в официальной документации называется FileTransfer. Как только я изменил свой код, чтобы использовать новый плагин FileTransfer, проблема исчезла.

Я надеюсь, что это поможет другим, кто столкнулся с той же проблемой.


person Jonas Ostergaard    schedule 07.07.2017    source источник
comment
Вы видели какие-нибудь видео Джоша Морони, отлаживающие приложения Ionic во время работы на iPhone? youtube.com/watch?v=9J8AxhDxtTE&feature=youtu.be   -  person JGFMK    schedule 19.07.2017
comment
Спасибо за эту ссылку, теперь я как бы решил свою проблему, обновив до новейшего плагина FileTransfer для Ionic, который был выпущен между моментом моего первого сообщения и сегодняшним днем. Я отредактировал свой пост выше.   -  person Jonas Ostergaard    schedule 20.07.2017
comment
Рад, что вы решили это. Вы знаете, что можете ответить на свой вопрос. Другие проголосовали за это / добавили в избранное. Так что, если они увидят это как ответ, это тоже поможет им.   -  person JGFMK    schedule 20.07.2017


Ответы (1)


Я до сих пор не выяснил причину проблемы, но тем временем Ionic выпустил новую версию плагина Transfer, который теперь в официальной документации называется FileTransfer. Как только я изменил свой код, чтобы использовать новый плагин FileTransfer, проблема исчезла.

Я надеюсь, что это поможет другим, кто столкнулся с той же проблемой.

person Jonas Ostergaard    schedule 20.07.2017
comment
У меня точно такая же проблема даже с новым плагином FileTransfer для ionic. - person askilondz; 04.10.2017
comment
такая же проблема здесь с плагином FileTransfer и все еще не работает на ios - person rolivares; 08.04.2018