Beim ersten Start der App möchte ich alle Dateien vom Server herunterladen und möchte den Download fortsetzen, auch wenn der Benutzer die App verlässt (es ist nicht im Vordergrund). Die Dateien, die ich herunterladen muss, sind Miniaturansichten, Fotos in Originalgröße, andere Dateien und Videos. Ich möchte sie in der Reihenfolge herunterladen, wie ich zuvor geschrieben habe.
Ich benutze Alamofire und ich setze Session-Manager:
%Vor%Dann benutze ich es so:
%Vor%Es ist in der downloadPhoto-Methode und ich rufe es an:
%Vor%Dann könnte ich Anruf für Datei-Download und Video-Download und andere hinzufügen. Aber alle diese Anfragen haben die gleiche Priorität und ich möchte zuerst Miniaturbilder herunterladen (weil das der Benutzer zuerst sieht), dann Bilder in voller Größe und nachdem alle Bilder heruntergeladen wurden, dann Dateien und Videos. Aber alle müssen sich in der Warteschlange befinden, denn wenn der Benutzer die App startet und sie auf den Hintergrund stellt und für mehrere Stunden belässt, muss alles heruntergeladen werden. Ist das möglich? Und wie kann ich das tun?
Ich habe mir alamofire angesehen, dass es die Komponentenbibliothek AlamofireImage hat, die prioritätsbasiert heruntergeladen wird, aber Bilder sind nur ein Teil von Dateien, die ich priorisieren möchte. Danke für die Hilfe
Ich glaube, dass der iOS-Standard %code% Ihnen helfen wird. Es hat die Eigenschaft %code% , die aussieht wie Sie brauchen.
Hier ist die offizielle Dokumentation
Hier ist ein Tutorial
Sehen Sie sich TWRDDownloadManager an. Es verwendet %code% und unterstützt auch Hintergrundmodi.
Was Sie tun müssen, ist:
1. Setzen Sie %code% auf 1, um sicher zu sein, dass der Download seriell erfolgt:
%Vor%2. Es folgt die Methode, die nacheinander für die Schleife und den Download von Medien iteriert:
%Vor%Vergessen Sie nicht, den Hintergrundmodus zu aktivieren: %code%
3. Aktivieren Sie %code% in Xcode:
4. Fügen Sie Ihrer %code% :
die folgende Methode hinzu %Vor%Wenn Sie dies tun, wird das Herunterladen seriell ausgeführt und es wird fortgesetzt, selbst wenn die App im Hintergrund läuft oder der Benutzer das Gerät sperrt.
Bitte fügen Sie einen Kommentar hinzu, wenn Sie Fragen oder Hilfe zu diesem Thema haben.