NSURLSession: Hintergrund-Upload und dann eine Service-API aufrufen

9

Ich habe versucht, die neue ios7 background transfer api zu verwenden, um einige Fotos auf einen Server hochzuladen. Was ist jetzt passiert? 1) wir laden die Bytes nach s3 hoch 2) Rufen Sie eine Service-API auf, um den Upload zu vervollständigen

Ich schaute auf dieses Dokument und es scheint Hintergrund NSURLSession unterstützt 'Daten' Aufgabe nicht. Bedeutet das, dass ich den Schritt 2 im Hintergrund nach dem eigentlichen Upload nicht machen kann?

    
Erben Mo 17.10.2013, 05:59
quelle

4 Antworten

4

Wenn Sie eine einfachere Lösung als das Umwidmen von NSURLSessionDownloadTask für Ihren "abgeschlossenen" API-Aufruf wünschen, können Sie einen schnellen http-Aufruf während des Callbacks in:

ausführen

-URLSession:task:didCompleteWithError:

    
Clay Bridges 20.01.2014, 18:44
quelle
3

Für S3 mit Hintergrundaufgabe siehe meine Antwort hier

Eine weitere gute Ressource ist der Apfel-Beispielcode hier und suchen Sie nach "Simple Background Transfer"

Sie müssen eine Upload-Aufgabe erstellen und von der lokalen Datei hochladen. Während Ihre App ausgeführt wird, werden die NSURLSessionTaskDelegate-Delegatmethoden nach Abschluss des Upload-Abschlusses beim Abschluss aufgerufen:

%Vor%

Wenn Ihre App in den Hintergrund geriet oder sogar von iOS (und nicht vom Benutzer) getötet wurde, würde Ihre App mit

aufwachen %Vor%

Und dann würde Ihre NSURLsession-Delegate-Methode

aufgerufen werden %Vor%

Wie Sie es erstellen sollten, folgen Sie in Ihrer AppDelegate hinzufügen

%Vor%

Dann fügen Sie in Ihrer Controller / Modellklasse

hinzu %Vor%     
Zeev Vax 31.10.2013 04:21
quelle
0

NSURLSessions hat eine Delegatmethode URLSessionDidFinishEventsForBackgroundURLSession , die aufgerufen wird, nachdem die Sitzung alle ihre Aufgaben abgeschlossen hat. Ich glaube, du solltest dort einen Api-Ruf durchführen.

    
Maciej Oczko 17.10.2013 07:07
quelle
-2
%Vor%

setze diesen Code in die Datei appdelegate.m

Probieren Sie diesen Code aus, ich hoffe, er wird Ihnen helfen.

    
praveen 06.12.2013 11:03
quelle