Utilizzando il metodo applicationWillTerminate non sembra funzionare
-
27-09-2019 - |
Domanda
Sono voler salvare alcuni dati relativi allo stato di app per quando l'utente è smettere l'applicazione. Sto pensando che dovrei usare il metodo all'interno applicationWillTerminate della mia AppDelegate, ma quando provo e fare qualsiasi cosa lì, non sta facendo nulla:
- (void) applicationWillTerminate:(UIApplication *)application {
NSLog(@"test");
}
Quando eseguo la mia applicazione, e fare alcune cose, e ha colpito il tasto Home per uscire dalla app, nulla si avvicina la console ...
Devo implementare il metodo applicationWillTerminate nel AppDelegate? L'utente del mio app sarà molto probabilmente in vista del lettore quando lasciano, c'è comunque di implementare l'applicazione si chiuderà metodo lì?
Soluzione
vedi questo link iPhone simulatore e applicationWillTerminate () per le versioni precedenti di iOS;
ma ricordate il tasto Home non necessariamente terminare l'applicazione è iOS4 ... si dovrebbe usare applicationDidEnterBackground
ma vorrei suggerire entrambi i luoghi applicationWillTerminate
e applicationDidEnterBackground
L'aggiunta della chiave UIApplicationExitsOnSuspend
nel file Info.plist
dell'applicazione e impostando il suo valore a YES
vi farà smettere applicazione quando si preme il tasto di casa, anche su iOS4
Altri suggerimenti
In iOS 4, il metodo applicationWillTerminate:
viene chiamato solo se si opta fuori del modello di esecuzione di sfondo. Nella IOS 4 ciclo di vita dell'applicazione standard, le applicazioni sono sospese (non terminato) quando viene premuto il tasto home. Il delegato applicazione riceverà un messaggio di applicationWillResignActive:
seguito da un messaggio di applicationDidEnterBackground:
. Il metodo applicationDidEnterBackground:
è un buon posto per salvare i dati utente.