:::: MENU ::::

Conseguir que una aplicación iOS se cierre completamente

4.00 avg. rating (75% score) - 2 votes

Desde la llegada de iOS 4 y la multitarea/ejecución en background, la gestión del ciclo de vida las aplicaciones iPhone y iPad es ligeramente diferente ya que es necesario tener en cuenta algunos eventos adicionales a nivel de aplicación. Al menos los dos siguientes:

applicationDidEnterBackground:(UIApplication *)application;
applicationWillEnterForeground:(UIApplication *)application;

Ambos son llamados por el sistema operativo cuando la aplicación ha pasado a segundo plano (al pulsar el botón ‘home’ o iniciar otra aplicación) y cuando ha vuelto a ser reactivada (al lanzar de nuevo la aplicación).

Además Apple nos regala esta función por defeto, lo que causa una diferencia en el funcionamiento de una misma aplicación cuando se ejecuta en un iPhone 3 o en un dispositivo superior.

Mientras en el primer caso, la aplicación siempre comienza desde su estado inicial, en el segundo comenzará exactamente desde el estado en el que pasó a background, independientemente de si hace uso o no de los dos eventos anteriores y de si ejecuta código o no en background.

Para igualar el comportamiento en todos los dispositivos iOS, la solución pasa por hacer que las aplicaciones en el iPhone 3GS o superiores se comporten como si no hubiese ejecución en background o multitarea, de forma que la aplicación se cierre completamente al pulsar el botón ‘home’.

Para ello, símplemente hay que abrir el archivo *.plist de nuestro proyecto y añadir una nueva clave:

Application does not run in background = true



Hey! Qué opinas sobre el artículo?