2011-02-08 5 views
5

He entrado en un problema extraño, donde - (void)applicationWillTerminate:(UIApplication *)application{} y - (void)applicationDidEnterBackground:(UIApplication *)application{} no se llaman cuando trato de detener la aplicación de Xcode en lugar de botón de inicio.aplicaciónWillTerminate no se llamó cuando la aplicación se detuvo de Xcode

+1

Este comportamiento tiene sentido, porque Xcode * no * es el botón de inicio. – Moshe

+0

Estoy tratando de simular una situación en la que necesito realizar acciones de archivos cuando llego a applicationWillTerminate. Cuando detengo la aplicación en ejecución, no llama a applicationWillTerminate, ya que termina la aplicación en ejecución. – Ksinak

+0

@moshe: Gracias. Creo que ahora entiendo que desde que cerré la aplicación en ejecución desde xcode, mata toda la aplicación y, por lo tanto, no hay más llamadas. – Ksinak

Respuesta

8

Se esperaba este comportamiento, porque Xcode es no la clave de inicio en su dispositivo iOS.

Si hace clic en "Crear y ejecutar", por ejemplo, mientras prueba otra aplicación, se le pedirá que mate la primera aplicación. Si lo haces, la primera aplicación se cerrará como si nunca se hubiera abierto. Esto parece ser una consecuencia de la aplicación arena-boxeo.

En una nota similar, si presiona la tecla de inicio mientras prueba una aplicación en un dispositivo compatible con múltiples tareas, entonces la aplicación continuará ejecutándose en modo de fondo y no activará applicationWillTerminate. Sin embargo, su dispositivo debe activar applicationDidEnterBackground.

+0

¡Gracias por la información! Sí, me enfrenté al mismo problema con mi aplicación en multitarea y tuve que anular applicationDidEnterBackground además de applicationWillTerminate. Esto responde mi duda. – Ksinak

Cuestiones relacionadas