Ich nehme an, Sie etwas ähnlich der folgenden verwenden, das Gerät informieren Sie einen Hintergrundprozess sind ausführen:
_myTaskID = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:myHandler];
Sie sollten dies auch, wenn der Hintergrund durchführen Aufgabe abgeschlossen ist normalerweise oder wenn Sie die Aufgabe in myHandler abbrechen:
[[UIApplication sharedApplication] endBackgroundTask:_myTaskID];
_myTaskID = UIBackgroundTaskInvalid;
Nimmt man nun an, dass you'r Neuinitialisierung Ihre Anwendung in Ihrem UIApplic actionDelegate applicationWillEnterForeground: oder als Antwort auf eine UIApplicationWillEnterForegroundNotification müssen Sie einfach überprüfen, ob _myTaskID auf UIBackgroundTaskInvalid gesetzt ist, um festzustellen, ob Ihre Hintergrundaufgabe noch ausgeführt wird.
Sie haben nicht angegeben, welche Art von Aufgabe in Ihrer Hintergrundaufgabe ausgeführt wird, aber Ihre Anwendung sollte vorbereitet sein, damit diese Aufgabe abgeschlossen wird, wenn die Anwendung in den Vordergrund zurückkehrt, während die Aufgabe noch ausgeführt wird. Andernfalls sollten Sie möglicherweise erneut eine Hintergrundaufgabe verwenden.
@ Tech24 - Erstellen Sie einen anderen Thread mit GCD, um einige Aufgaben im Hintergrundmodus zu erledigen? Besser: Wie stellen Sie Ihre Aufgabe im Hintergrund auf? – Trinca