Zamykanie pułapki aplikacji po jej zamknięciu w widoku wielozadaniowym [zamknięte]

0

Jakie zdarzenie / selektor / metoda jest wywoływane, jeśli występuje, gdy użytkownik zamyka aplikację na ekranie wielozadaniowym? Raporty Xcode Message from debugger: Terminated due to signal 9(tzn. Których SIGKILLnie można uwięzić). Czy użycie AppDelegate.applicationWillResignActive, które wywoływane jest po naciśnięciu przycisku „Strona główna”, jest kolejną najlepszą opcją?

odszedł
źródło

Odpowiedzi:

0

To zależy od stanu Twojej aplikacji:

Jeśli Twoja aplikacja jest zawieszona (tzn. Działa w tle i nie jest aktualnie wykonywana), nie ma możliwości wykrycia, że ​​użytkownik ją zamknie.

Jeśli aplikacja działa w tle (tzn. Jest w tle i działa), zostanie wywołana metoda applicationWillTerminate.

jksoegaard
źródło
Jest to nieco trudne do skonfigurowania, ponieważ interfejs użytkownika jest sterowany zdarzeniami. Czy można użyć jakiegoś zadania w tle (takiego jak watchdog)? Bez czegoś ciągle działającego trudno jest właściwie „wyczyścić”.
odszedł
Nie, nie możesz używać watchdoga ani niczego podobnego, aby pozostać w tle. Jest to poza kontrolą aplikacji. Co dokładnie chcesz „posprzątać”?
jksoegaard
Chcę zapisać dane w aplikacji przed jej zamknięciem.
odszedł
@ gone Nie możesz tego zrobić. Będziesz musiał okresowo oszczędzać podczas wykonywania programu.
jksoegaard
To niefortunne. Przesunięcie w górę to nie to samo, co naciśnięcie Ctrl-C, aby wyjść z nieprawidłowo działającego programu.
odszedł