2 Stimmen

Meine Anwendung aktualisieren, wenn sie im Hintergrund läuft

Ich möchte einige Daten in meiner Anwendung aktualisieren. Wenn die Anwendung im Hintergrund läuft, ist sie weder Voip noch Musik oder GPS. Ist es möglich, Daten an die Anwendung, die sich im Hintergrund befindet, zu aktualisieren/senden?

HINWEIS: Ich möchte den Benutzer nicht benachrichtigen, damit die Anwendung aktiv wird.

Kann mir jemand helfen?

4voto

rckoenes Punkte 68739

Die Antwort lautet ja und nein.

Apple erlaubt es Ihrer Anwendung, einen langwierigen Prozess im Hintergrund abzuschließen. Aber wenn Sie nicht in die Kategorie Voip, Musik oder GPS fallen, können Sie nicht im Hintergrund laufen.

Wenn Sie z.B. einige Daten an einen Server senden wollen, was einige Zeit dauern kann, dann können Sie diesen Prozess als zurück ausgeführt markieren, bis er beendet ist (oder 10 Minuten vergangen sind).

Sie finden einige über Executing a Finite-Length Task in the Background

Es gibt keine Möglichkeit, Timer oder ähnliches im Hintergrund laufen zu lassen, man kann nur eine Aufgabe beenden, die man begonnen hat, bevor die App in den Hintergrund geht.

0voto

HelmiB Punkte 12185

Ich habe dies in einer meiner Arbeiten getan. das ist, was ich getan habe.

bei der Anmeldung eingeben: - (void)applicationDidEnterBackground:(UIApplication *)application

Ich sende Daten an den Server mit ASIHTTPRequest mit der Eigenschaft : [request setShouldContinueWhenAppEntersBackground:YES];

Aber nachdem ich fertig war, habe ich keine weiteren Verbindungen oder Datenmanipulationen vorgenommen. Also, nur die Verbindung läuft im Hintergrund und nicht Ihre app. Sie können nicht viel tun, nachdem die Verbindung beenden.

Wie @rckoenes bereits erwähnt hat, dürfen Sie die Aufgabe nicht zu lange ausführen.

-1voto

iamsult Punkte 1581

Die angezeigte Warnung ist eine eingebaute Funktion. Sie können dafür nichts tun. Wenn eine Benachrichtigung vom Server abgefeuert wird und die Anwendung im Hintergrund läuft, wird die Warnung angezeigt. Ich habe in der Vergangenheit viel nach diesen Dingen gesucht.

-1voto

iOSdev Punkte 1

Wenn Sie Serverdaten aktualisieren möchten, während Ihre Anwendung im Hintergrundmodus läuft, sollte die Anwendung zu diesem Zeitpunkt aktiv sein. Sie kann nur aktiv sein, wenn sie "Musik oder VoIP oder Standortverfolgung" verwendet, andernfalls wird die Anwendung im Hintergrundmodus angehalten.

Eine Möglichkeit, dies zu vermeiden, besteht darin, Ihre Anwendung zu entwickeln und sie z. B. so einzustellen, dass sie "Standortverfolgung" verwendet. Damit erfüllt sie die Anforderungen an einen aktiven Hintergrundprozess und Sie können die Serverdaten aktualisieren.

Leider weiß ich nicht, ob die App mit diesem Aufbau die Genehmigung des App Stores bestehen kann. Wenn Sie jedoch an dieser Lösung interessiert sind, finden Sie ein Beispiel ici .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X