in meiner App eingegeben habe ich einige NSOperation, die einige Kerndatenelement von einer on-line-Datenbank aktualisieren, irgendwann das Update erfordern einige Minute, und wenn der Bildschirm von iPhone sperren, die APP betreten in Hintergrundmodus, und dieses Update gestoppt ist, so habe ich die App wieder zu öffnen, um das Update fortzusetzen, so habe ich viel auf Stack-Überlauf suchen, und ich habe einige Informationen über:Operation fortsetzen, wenn App Hintergrund auf iOS
beginBackgroundTaskWithExpirationHandler
, die ein Verfahren ist aus Apfel, der einige Aufgabe fortsetzen kann, auch wenn die App im Hintergrundmodus ist, und ich habe dies tun:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier bgTask;
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
}];
}
und jetzt die App die Aufgabe im Hintergrund fortsetzen, und scheint, dass alles gut funktioniert, so ist meine Frage, ist diese Methode, die ich benutze, sicher? oder gibt es einen besseren Modus?
danke
Überprüfen Sie die Antwort hier gepostet .. http://StackOverflow.com/Questions/12071726/how-to-use-beginbackgroundtaskwithexpirationhandler-for-already-running-task-in – iDev