2008-12-15 16 views
11

Kiedy moja aplikacja jest uruchamiane w symulatorze iPhone, metoda delegataiPhone symulator i applicationWillTerminate()

- (void)applicationWillTerminate:(UIApplication *)application 

nazywa się tylko za pierwszym razem uderzę przycisk home iPhone symulatora.

Po naciśnięciu przycisku home i ponownym uruchomieniu aplikacji, naciśnięcie przycisku home nie wywołuje metody delegata.

Co się tutaj dzieje? Czy nie rozumiem czegoś fundamentalnego?

Odpowiedz

24

Podejrzewam, że jest on wywoływany, ale nie masz pewności, ponieważ po naciśnięciu przycisku Home w symulatorze zakończyłeś bieżącą sesję w Xcode. Prawdopodobnie masz NSLog w swojej metodzie applicationWillTerminate:, tak? Po naciśnięciu przycisku Home, NSLog s nie będą już wyświetlane w konsoli uruchamiania Xcode. Jeśli otworzysz /Applications/Console.app, oczekuję, że się tam pokażą.

+0

Tak, masz rację. Połączenia z komunikatami NSLog() nie pojawiają się po pierwszym powrocie do ekranu głównego. Jednak wszystkie pozostałe wywołania funkcji od delegata nadal działają tak jak zwykle. Dzięki! – firstresponder

+2

Xcode nie zwraca już uwagi na wyniki rejestrowania z iPhone Simulator po zakończeniu programu i powrocie do Springboard. Wszystko nadal działa dokładnie tak samo, z wyjątkiem wyniku, który nie trafi do logu uruchamiania Xcode. –

+0

Mogę rozróżnić (zakończenie aplikacji z powodu połączenia telefonicznego i wznowienie go z poprzedniego stanu) i (uruchomienie aplikacji)? –

4
- (void)applicationWillTerminate:(UIApplication *)application 

jest wywoływana, gdy aplikacja "kończy". Jeśli korzystasz z systemu iOS, aplikacja NIE zakończy działania po naciśnięciu przycisku głównego, chyba że wyłączono obsługę wielu aplikacji lub użytkownik nie ma urządzenia obsługującego wiele zadań.

- (void)applicationDidEnterBackground { 

jest teraz używany, gdy użytkownik naciśnie przycisk ekranu głównego. O ile (jak wcześniej wspomniałem) wyłączyłeś wielozadaniowość dla swojej aplikacji lub użytkownik nie ma urządzenia "wielozadaniowego".

Powiązane problemy