2016-06-30 9 views
0

Ich habe eine ziemlich einzigartige Situation:Daten hochladen, nachdem App geschlossen ist

Meine iOS-App verfügt über Companion-Hardware, mit der es über WLAN verbunden ist. Das WLAN erstellt ein lokales Netzwerk, dh wenn das Telefon verbunden ist, gibt es keinen externen Internetzugang.

Ich möchte in der Lage sein, Analysen auf einem zentralen Server zu veröffentlichen, den wir über eine einfache REST-API erstellt haben. Das Problem besteht darin, dass Benutzer die App nur öffnen und schließen können, während sie mit dem Netzwerk verbunden sind. Wenn sie also über einen Internetzugang verfügen, wurde die App möglicherweise beendet (oder zumindest in den Hintergrund gestellt). .

Wenn ich Code ausführen innerhalb von

-(void)applicationWillResignActive(UIApplication *)application 
OR 
-(void)applicationDidEnterBackground:(UIApplication *)application 
OR 
-(void)applicationWillTerminate:(UIApplication *)application 

Sie können nur aufgerufen werden, wenn der Benutzer nach wie vor mit dem Wi-Fi-Netzwerk ohne den Zugriff von außen verbunden ist.

Gibt es eine Möglichkeit, unter diesen Umständen auch einfache Daten auf unseren Server zu laden? Gibt es eine Möglichkeit, einen schnellen Hintergrundprozess zu starten, um dies nach der Tat zu tun?

Danke!

Antwort

0

Sie können NSURLSession verwenden, um Uploads aus dem Hintergrund zu tun. Sobald Sie die Upload-Aufgabe gesendet haben, hält das System die Ausführung der Aufgabe aufrecht, auch wenn Ihre App in den Hintergrund verschoben oder beendet wird.

+0

Und was passiert, wenn die App mit dem Wi-Fi verbunden ist, wenn es beendet wird? Muss ich die Anfrage irgendwie wiederholen? Oder wird es als dreckig markiert und versuche es erneut (unwahrscheinlich, aber ich werde trotzdem fragen!)? – AlexKoren

+0

Ich habe es nicht getestet, aber ich glaube, das System wird den Verbindungsverlust behandeln und die Verbindung starten/fortsetzen, wenn die Netzwerkverbindung wieder hergestellt wird. (Es sei denn, es fällt während der Verbindung mit Ihrem Internet ohne Internetverbindung schwer.) –

Verwandte Themen