Ich erstelle eine App, die sich mit dem Server verbindet und Text sendet. Wenn das Netzwerk (sowohl WLAN als auch 3G) vorhanden ist, wird der Text sofort an den Server gesendet. Wenn jedoch kein Netzwerk vorhanden ist, wird weiterhin alle 5 Minuten nach einer Serververbindung gesucht. All dieser Teil funktioniert gut.
Aber wenn ich ein iPhone 4-Gerät verwende, möchte ich, dass die App nach einer Serververbindung sucht, selbst wenn die App in den Hintergrund tritt. Wenn die App also in den Hintergrund tritt und wenn das Netzwerk zurückkommt, muss es in der Lage sein, den Text an den Server zu senden.
Wie kann ich es erreichen? Ich habe in einigen Apps gesehen, dass die App Fotos auch im Hintergrund auf den Server hochlädt. Wie werden sie es tun?
Ich schlage vor, dass Sie diesen Artikel von Apple sorgfältig lesen, insbesondere den Beenden einer Aufgabe mit begrenzter Länge im Hintergrund .
Etwas zu klären:
Ich hoffe, es hilft.
Es gibt einen Trick, den ich glaube, dass flayvr verwendet.
Wenn Sie die App herunterladen und verwenden, werden Sie feststellen, dass Sie Ihren Standort aktivieren müssen. Und warum ist das? weil sie möchten, dass Sie etwas im Hintergrund tun, selbst wenn die App beendet wird (sie erstellen ein Album aus Ihren neu aufgenommenen Fotos), und wie machen sie das?
Sie verwenden die signifikante Standortänderung, bei der, wenn jemand eine beträchtliche Entfernung (etwa 500m) zurücklegt, jede App, die sich für eine signifikante Standortänderung registriert hat, für eine begrenzte Zeit aufgeweckt wird, um eine schnelle Aufgabe auszuführen ein paar Sekunden.
So kann sich Ihre App auch für dieses Ereignis registrieren, und wenn das Ereignis einer signifikanten Standortänderung ausgelöst wurde, können Sie den Text (schnell) an den Server senden.
Ich hoffe, das hilft.
Bis jetzt können Sie das unter iOS7 mit Hintergrund holen machen. Werfen Sie einen Blick auf diesen Artikel .
Allerdings haben Sie nur bis zu 30 s , um die Aufgabe zu erledigen. Laut dem obigen Artikel gibt es auch eine andere Lösung namens Hintergrundübertragungsdienst .
Wenn jedoch mehr Zeit benötigt wird, dann der Hintergrundübertragungsdienst API kann verwendet werden
Erstellen Sie ein neues Projekt in Xcode, und Sie werden feststellen, dass eine Reihe neuer Methoden automatisch in der Anwendungsdelegatendatei generiert wird. wie applicationDidEnterBackground, applicationWillEnterForeground etc.
Lesen Sie die Beschreibung Sie müssen Ihren Thread aufrufen, um Daten auf Server hier zu laden.
Tags und Links iphone networking background