2017-07-07 49 views
8

Stworzyłem aplikację Ionic 2 na Androida i próbuję ją teraz uruchomić na iOS.Ionic 2 fileTransfer.download nie reaguje na iOS

Aplikacja pobiera wiele plików przy pierwszym logowaniu i robię to z Ionic-Native Transfer plugin. Na Androidzie wszystko działa dobrze, ale na iOS aplikacja zdaje się tkwić w obietnicy funkcji fileTransfer.download(), nie robi nawet błędu.

Przykład Kod:

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"); 
     }); 
    }); 
} 

Próbowałem również użyć this.file.documentsDirectory zamiast na iOS, ale nadal nie dostać żadnych wyjść błędach lub sukcesu.

Źródła do pobrania pochodzą z łącza firebaseStorage, ale przetestowałem je również ze zwykłym adresem URL do pobrania.

Zakładam, że ma to coś wspólnego z uprawnieniami, ale jeszcze nie znalazłem rozwiązania. Innym założeniem jest, że istnieje limit wielu wątków na iOS, które dotyczą około 30-100 obietnic na żywo.

Ale dziwne są brakujące komunikaty o błędach, po prostu utknęły i żadne pojedyncze pobieranie się nie kończy.

Każda pomoc jest doceniana!

EDIT:

ja wciąż nie zorientowali się przyczynę problemu, ale w międzyczasie, Ionic wydała nową wersję wtyczki transfer, który jest teraz zwanym FileTransfer w oficjalnych dokumentów. Po zmianie kodu na nową wtyczkę FileTransfer problem zniknął.

Mam nadzieję, że pomoże to tym, którzy staną przed tym samym problemem.

+0

Czy widziałeś niektóre filmy Josh Morony debugujące aplikacje jonowe podczas pracy na iPhonie? https://www.youtube.com/watch?v=9J8AxhDxtTE&feature=youtu.be – JGFMK

+0

Dzięki za ten link, rozwiązałem teraz mój problem, aktualizując do najnowszej wtyczki FileTransfer z Ionic, która została wydana między moim pierwszy post i dziś. Edytowałem mój post powyżej. –

+0

Cieszę się, że to rozwiązałeś. Wiesz, możesz odpowiedzieć na własne pytanie. Inni uprzywilejowali/faworyzowali to. Jeśli więc zobaczą to jako odpowiedź, to też im pomogą. – JGFMK

Odpowiedz

0

Nadal nie znalazłem przyczyny problemu, ale w międzyczasie firma Ionic wydała nową wersję wtyczki do transferu, która w oficjalnych dokumentach nosi teraz nazwę FileTransfer. Po zmianie kodu na nową wtyczkę FileTransfer problem zniknął.

Mam nadzieję, że pomoże to tym, którzy staną przed tym samym problemem.

+1

Mam dokładnie ten sam problem, nawet z nową, jonowo-natywną wtyczką FileTransfer. – askilondz