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ą?

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.


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ł
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.