¿Apple ha proporcionado alguna guía para el “Tiempo de carga” de una aplicación?

Apple no proporciona pautas, per se, más allá de la idea de que las aplicaciones deben ser tan receptivas como sea posible en todo momento. En la práctica, iOS incluye un sistema de vigilancia que, entre otras cosas, rastrea el tiempo que tarda una aplicación en iniciarse. Las aplicaciones que tardan demasiado se eliminan automáticamente. No parece que se publique el tiempo exacto, pero creo recordar que son alrededor de 20 segundos (y, francamente, eso ya es demasiado, demasiado tiempo para que el inicio lo tome sin una maldita buena razón).

Las aplicaciones que se eliminan por un tiempo de inicio excesivo tendrán informes de bloqueo similares a los siguientes:

  Tipo de excepción: 00000020
 Códigos de excepción: 0x8badf00d
 Hilo resaltado: 0

 Información específica de la aplicación:
 com.yourcompany.yourapp no ​​pudo iniciarse a tiempo 
 tiempo total de CPU transcurrido (segundos): 11.120 (usuario 1.840, sistema 9.280), 59% de CPU 
 tiempo de CPU transcurrido de la aplicación (segundos): 2.160, 12% de CPU

Para obtener más detalles, consulte QA1592 de Apple (http://developer.apple.com/libra…) y QA1693 (http://developer.apple.com/libra…), o simplemente busque en la documentación de Apple “watchdog”.

Si, por algún motivo, su aplicación tiene mucho trabajo que hacer cuando se inicia, elimine ese trabajo del hilo principal iniciando un nuevo hilo o usando GCD. Mi experiencia con el perro guardián es que principalmente busca ver cuánto tiempo está atado el hilo principal en el momento del lanzamiento y que en realidad no le preocupa cuánto trabajo está haciendo la aplicación. Si el hilo principal no está ocupado, la interfaz de usuario responderá y el perro guardián dejará la aplicación sola.