Pregunta

Cuando mi aplicación se ejecuta en el simulador de iPhone, el método delegado

- (void)applicationWillTerminate:(UIApplication *)application

Sólo se llama la primera vez que me golpeó el botón de inicio del iPhone simulador.

Una vez que se pulsa el botón de inicio y la aplicación se pone en marcha de nuevo, golpeando el botón de inicio no llama al método delegado.

¿Qué está pasando aquí? ¿Estoy mal entendido algo fundamental?

¿Fue útil?

Solución

Sospecho que está siendo llamado, pero que se está confundiendo porque después de que se pulsa el botón de inicio en el simulador, que han terminado la sesión actual en Xcode. Es probable que tenga un NSLog en su applicationWillTerminate: método, sí? Una vez que se pulsa el botón de inicio, /Applications/Console.app s del ya no se muestran en la consola de la carrera de Xcode. Si abre <=> espero que va a aparecer allí.

Otros consejos

- (void)applicationWillTerminate:(UIApplication *)application

se llama cuando la aplicación "termina". Si está utilizando IOS entonces la aplicación no terminará cuando se pulsa el botón de inicio, a menos que se haya desactivado la multitarea para su aplicación o el usuario no tiene un dispositivo de "multi-tarea apoyado".

- (void)applicationDidEnterBackground {

Ahora se utiliza cuando el usuario presiona el botón de inicio. A menos que (como ya dije) lo haya desactivado multitarea para su aplicación o el usuario no tiene una "multi-tarea apoyado" dispositivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top