Condiciones cuando didFinishLaunchingWithOptions recibe el llamado de IOS

¿Alguien puede decirme en qué escenarios hace que la function de delegado didFinishLaunchingWithOptions sea invocada por el IOS aparte de cuando se lanza la aplicación por primera vez. Inicié la aplicación en el dispositivo con XCode y eliminé la conectividad e intenté enviar posts al dispositivo a través de wifi. Luego me di count de que didFinishLaunchingWithOptions recibió llamadas pocas veces. ¿Por qué sucede esto y cuáles son las condiciones cuando se llama a esta function? No puedo descifrar todos los escenarios. Gracias por adelantado.

De la documentation de Apple :

Debe usar este método (y la aplicación correspondiente: willFinishLaunchingWithOptions: method) para completar la initialization de su aplicación y realizar los ajustes finales. Este método se invoca después de que se haya producido la restauración de estado, pero antes de que se haya presentado la window de su aplicación y otra IU . En algún momento después de que este método regrese, el sistema llama a otro de los methods del delegado de su aplicación para mover la aplicación al estado activo (primer plano) o al estado del background.

Estos escenarios se describen en Claves de opciones de lanzamiento.

Su pregunta, ¿alguien puede decirme en qué escenarios hace la function delegada didFinishLaunchingWithOptions recibe el llamado de IOS?

Si la aplicación se mata o está en el estado terminado y el usuario recibe una notificación local o una notificación de inserción remota, y la notificación de golpes de usuario, entonces se llamó firstFinishLaunchingWithOptions primero en ambos casos.

didFinishLaunchingWithOptions también se llama cuando supervisa los cambios de location con "startMonitoringSignificantLocationChanges". Desde apple

Si inicia este service y su aplicación finaliza posteriormente, el sistema reiniciará automáticamente la aplicación en segundo plano si llega un nuevo evento. En tal caso, el dictionary de opciones pasó a la aplicación ( : willFinishLaunchingWithOptions 🙂 y los methods de la aplicación ( : didFinishLaunchingWithOptions 🙂 de su delegado de la aplicación contienen la location de la key para indicar que su aplicación se lanzó debido a un evento de location.