Wywoływane operacje składowania na applicationDidEnterBackground:

Dokumentacja Apple„Stany aplikacji i wielozadaniowość” (Sekcja „Co robić podczas przemieszczania się w tle”) powiedzieć, aby zapisać, gdy aplikacja przejdzie do tła:

Zapisz dane użytkownika i informacje o stanie aplikacji. Wszystkie niezapisane zmiany powinny zostać zapisane na dysku podczas wchodzenia w tło. Ten krok jest konieczny, ponieważ twoja aplikacja może zostać cicho zabita, będąc w tle z wielu powodów. W razie potrzeby możesz wykonać tę operację z wątku w tle.

Kiedy rozpoczynam wysyłaną operację, np. do oszczędzania, które zajmuje trochę czasuapplicationDidEnterBackground: podobnie jak poniżej nie otrzymuję wyjścia NSLog po naciśnięciu przycisku home. Po powrocie do aplikacji pojawia się wyjście NSLog.

- (void)applicationDidEnterBackground:(UIApplication *)application {
      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
         [self performOperation];
         NSLog(@"Operation finished");
      });
}

Czy mogę być pewien, żeperformOperation metoda została wykonana całkowicie lub przerwała, gdy aplikacja weszła w tryb uśpienia?

questionAnswers(2)

yourAnswerToTheQuestion