nsurlsessiondownloadtask

___ qstnhdr ___ Laden Sie viele Dateien (Fotos, Videos) im Hintergrund mit Priorität ab ___ tag123swift ___ Swift ist eine universelle Open-Source-Programmiersprache, die von Apple Inc. für ihre Plattformen und Linux entwickelt wurde. Verwenden Sie das Tag nur für Fragen zu Sprachfunktionen oder für Code in Swift. Verwenden Sie die Tags [ios], [osx], [watch-os], [tvos], [cocoa-touch] und [cocoa] für (sprachunabhängige) Fragen zu den Plattformen oder Frameworks. ___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind. ___ qstntxt ___

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

    
___ answer41580369 ___

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

    
___ answer41570448 ___

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.

    
___ tag123background ___ Hintergrund bezieht sich normalerweise auf das Rendering hinter dem Inhalt eines Containerelements - normalerweise auf einer Webseite, einem Windows-Formular oder einem anderen UI-Präsentationsmedium. ___ tag123nsurssessiondownloadtask ___ Eine NSURLSessionDataTask ist eine konkrete Unterklasse von NSURLSessionTask. Die Methoden in der NSURLSessionDataTask-Klasse sind in NSURLSessionTask-Klassenreferenz dokumentiert. ___ tag123alamofire ___ Alamofire ist eine in Swift geschriebene HTTP-Netzwerkbibliothek. ___
2
Antworten

Laden Sie viele Dateien (Fotos, Videos) im Hintergrund mit Priorität ab

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...
01.12.2016, 14:09