2010-10-28 5 views
5

La aplicación responde a una URL personalizada y se inicia correctamente cuando se encuentra en estado suspendido. La pregunta es, ¿puedo desactivar mostrar Default.png cuando se inicia de esta manera?Aplicación de iPhone en estado suspendido, iniciada por URL, que muestra Default.png

Un caso de uso para mayor claridad:

  1. aplicación se inicia normalmente
  2. una prensa botón de inicio pone aplicación en modo de espera
  3. una URL del esquema de la aplicación reconoce es aprovechado en Safari Mobile
  4. usuarios ven Default.png antes de que finalice el lanzamiento.

Como probablemente sepa, cuando se activa el cambio rápido de aplicación, generalmente la aplicación se vuelve a mostrar con una captura de pantalla del último estado en lugar de Default.png. Esto es lo que preferiría que ocurra cuando el lanzamiento de la URL también tiene lugar.

Respuesta

3

Parece que lo que está sucediendo es que Fast App Switching no funciona realmente. Entonces:

  1. Asegúrese de que está compilando la aplicación para SDK para OS 4.0. Si no lo hace, su aplicación no contará con soporte de cambio rápido de aplicación.

  2. Vea si la conmutación rápida de aplicaciones normalmente (de lo contrario) funciona con su aplicación. ES DECIR. cuando cambias a Safari, luego reinicias tu aplicación, ¿obtienes el "default.png"?

  3. Ejecute la aplicación debajo del depurador, pero en su dispositivo real. Haga que el problema suceda, entre en el Organizador y busque en los registros del dispositivo. Esto le mostrará si hubo un problema de poca memoria que provocó que su aplicación fuera terminada, cuando se lanzó Safari, requiriendo que fuera cuando se relanzó cuando se seleccionó la URL.

  4. Creo que había dos mecanismos en su lugar. En mi aplicación, no apoyo "Iniciar con el URL" - pero lo que hago hacer es apoyar el llamado del delegado Aplicación:

-(BOOL) application:(UIApplication *) application handleOpenURL:(NSURL *) url {

Ésta puede ser la diferencia - esto es la llamada que se puede hacer a una aplicación que es ejecutando a a mano es una URL para procesar. Si está utilizando la otra técnica, use esta en su lugar. Utilizo esto, y no veo el "default.png" - es decir, no evoco un "reinicio limpio" cuando me llaman.

+0

La aplicación rápida de swutching no es el problema. He confirmado que funciona correctamente. – NWCoder

+0

¿Has probado los números 2 y 3? La pregunta es si tu aplicación * está * cerrada *, probablemente porque tu aplicación + Safari corriendo juntos ¿requiere demasiada memoria? – Brad

+0

Sí, puedo continuar una sesión de depuración y sé que es un lanzamiento de FAS. Si tiene una aplicación que tiene FAS y se inicia con URL, puede confirmar que mi problema es correcto. – NWCoder

0

Asegúrese de que tiene configurada la tecla "Modos de fondo requeridos" en Info.plist para la función que necesita la aplicación. Si no aparece en la lista, solo uso "App Play Audio" para mantenerlo abierto.

3

Aquí hay una posible solución. Esto me causaba un dolor de cabeza al intentar regresar sin problemas desde el proceso de inicio de sesión único de Facebook.Quería volver al área de inicio de sesión de mi aplicación, en lugar de la apariencia de reiniciar la aplicación, aunque comprobé de todas las formas posibles que la aplicación realmente regresaba del cambio rápido de la aplicación y que en realidad no se reiniciaba.

Si bien no pude encontrar ninguna manera de forzar la aplicación para visualizar pantalla del estado anterior, Me descubrir que la aplicación mostrará default- esquema .png (por ejemplo, por defecto-fb12345.png o default- appname.png) cuando se invoca con una url. Entonces, si la captura de pantalla de la aplicación es bastante predecible, tome una captura de pantalla del simulador de iOS y cópiela en su aplicación. Considero esto un error de iOS. La aplicación siempre debe mostrar la última captura de pantalla cuando se cambia la aplicación, en lugar del esquema predeterminado .png simplemente porque se trata de una url.

Otra posibilidad, que no he probado, sería enlazar simbólicamente default- esquema .png del paquete (y default- esquema @ 2x.png) para el archivo de instantánea en el directorio principal de la aplicación. Esto sería Library/Caches/Snapshots/[Bundle identifier] /[email protected] para la mayoría de las situaciones (a menos que sea un paisaje o un iPad). Si el estado de su aplicación es impredecible pero la orientación es fija, esta podría ser una buena opción para probar.

Cuestiones relacionadas