Cuál es el ciclo de vida de la app en iOS?

No se está ejecutando

La aplicación no se ha lanzado o se estaba ejecutando pero fue terminada por el sistema.

Inactiva

La aplicación se está ejecutando en primer plano pero actualmente no está recibiendo eventos. (Sin embargo, puede estar ejecutando otro código.) Una aplicación suele permanecer en este estado sólo brevemente mientras hace la transición a un estado diferente.

Activo

La aplicación se está ejecutando en primer plano y está recibiendo eventos. Este es el modo normal para las apps en primer plano.

En segundo plano

La app está en segundo plano y ejecutando código. La mayoría de las apps entran en este estado brevemente en su camino hacia la suspensión. Sin embargo, una app que solicita tiempo de ejecución extra puede permanecer en este estado durante un periodo de tiempo. Además, una aplicación que se lanza directamente en el fondo entra en este estado en lugar del estado inactivo. Para obtener información sobre cómo ejecutar código mientras está en segundo plano, consulte Ejecución en segundo plano.

Suspendida

La app está en segundo plano pero no está ejecutando código. El sistema mueve las apps a este estado automáticamente y no las notifica antes de hacerlo. Mientras está suspendida, una app permanece en la memoria pero no ejecuta ningún código.

Cuando se produce una condición de baja memoria, el sistema puede purgar las apps suspendidas sin previo aviso para hacer más espacio para la app en primer plano.

Métodos del ciclo de vida de la app.

Cuando se lanza una app iOS lo primero que se llama es

application: willFinishLaunchingWithOptions:-> Bool. Este método está pensado para la configuración inicial de la aplicación. Los storyboards ya han sido cargados en este punto pero la restauración del estado no ha ocurrido todavía.

Lanzamiento

  • application: didFinishLaunchingWithOptions: -> Bool se llama a continuación. Este método de devolución de llamada se llama cuando la aplicación ha terminado de lanzar y restaurar el estado y puede hacer la inicialización final, como la creación de UI.
  • applicationWillEnterForeground: se llama después de application: didFinishLaunchingWithOptions: o si su aplicación se activa de nuevo después de recibir una llamada telefónica u otra interrupción del sistema.
  • applicationDidBecomeActive: se llama después de applicationWillEnterForeground: para finalizar la transición al primer plano.

Terminación

  • applicationWillResignActive: se llama cuando la app está a punto de quedar inactiva (por ejemplo, cuando el teléfono recibe una llamada o el usuario pulsa el botón Home).
  • applicationDidEnterBackground: se llama cuando tu app entra en un estado de segundo plano después de quedar inactiva. Tienes aproximadamente cinco segundos para ejecutar cualquier tarea que necesites para respaldar las cosas en caso de que la aplicación se termine más tarde o justo después.
  • applicationWillTerminate: se llama cuando tu aplicación está a punto de ser purgada de la memoria. Llama a cualquier limpieza final aquí.

Tanto application: willFinishLaunchingWithOptions: como application: didFinishLaunchingWithOptions: pueden potencialmente ser lanzadas con opciones que identifiquen que la app fue llamada para manejar una notificación push o url o algo más. Necesitas devolver true si tu app puede manejar la actividad o url dada.

Conocer el ciclo de vida de tu app es importante para inicializar y configurar adecuadamente tu app y objetos. No tienes que ejecutar todo en la aplicación: didFinishLaunchingWithOptions, que a menudo se convierte en un fregadero de la cocina de las configuraciones y la inicialización de algún tipo.

Para más detalles, consulte los siguientes enlaces.

Ciclo de vida de la aplicación de la IOS - ansu jain - Medium

El ciclo de vida de la aplicación