iPhone SDK 3/4 aplicación no se ejecutará en un dispositivo iPhone 2.x, incluso con el sistema de destino del despliegue a 2,0

StackOverflow https://stackoverflow.com/questions/3009498

Pregunta

Yo sé acerca de la diferencia entre la base / SDK activos y el destino de despliegue. Tengo mi juego de SDK de base en el 4,0 y el conjunto de destino del despliegue en el 2,0. No estoy usando cualquier API 2.x de correos, o cualquier otra forma. Ya que no puedo depurar en un dispositivo 2.x, después de su construcción, uso la utilidad de configuración del iPhone para instalar la aplicación en el dispositivo, lo que lo hace muy bien. El problema es que no funciona! Acabo de obtener una pantalla en blanco. La ventana principal nunca llega arriba!

Ahora antes de preguntar ...

  1. Tuve este mismo problema con el iPhone SDK 3.x. He actualizado a la 4.x esperanza de que se puede resolver. No lo era.

  2. Si el archivo de suministro está instalado. (No se pudo instalar la aplicación, si no lo era.)

  3. Esta misma aplicación compilado funciona bien en 3.x dispositivos. Lo mismo con 4.x dispositivos. No sólo 2.x dispositivos.

  4. Una vez más, no, yo no estoy usando ningún SDK post-2.x. Para probar esto he creado una aplicación totalmente nuevo, basado en ventanas de diálogo 'Nuevo proyecto' y el único cambio que hice fue el color de fondo de la ventana (para probar la XI ter cargado) y me puse el destino de despliegue a 2,0 ( todavía está compilado con el SDK 4.x sin embargo.) una vez más, funciona muy bien en 3.x 4.x o dispositivos, pero sólo un negro, pantalla en blanco en 2.x dispositivos.

He intentado esto en tres dispositivos separados 2.x incluyó un recién restaurado. He usado tres máquinas separadas dev (MacBook Pro con el SDK 3.x, MacBook Pro con el SDK 4.x y un Mac Pro con el SDK 3.x.) El mismo resultado cada vez.

Stumped.

El hecho de que incluso un proyecto sin modificar no se ejecuta realmente me tiene confundido. Podría ser el archivo XI ter? Qué cambiaron el formato de 2.x a algo más nuevo en el SDK 3.x? Si es así, ¿Cómo se configura de nuevo a 2.x. (Una vez más, esto es sólo una conjetura completa.) Pero estoy realmente perplejo!

¿Fue útil?

Solución 3

Resulta que Apple no hacer un cambio importante (o más exactamente, un cambio 'fijar') que no comentan. Específicamente, nuestra aplicación no estaba poniendo explícitamente la ventana principal visible ya sea a través de código o mediante la opción 'Mostrar en el lanzamiento' en IB. PERO ... en una versión del SDK, el tiempo de ejecución, sin ver nada, pero que necesitan conjunto de pantalla algo, implícitamente mostró la ventana en el archivo principal XI ter. Sin embargo, los nuevos SDK (y mayores) (tiempos de ejecución en realidad) no tienen este comportamiento implícito por lo que cuando nuestro código no se presentó de forma explícita la ventana, acabamos de recibir una pantalla en blanco.

Así que, simplemente selecciona la opción 'Mostrar en el lanzamiento' en IB y funcionó. Hecho y hecho!

Otros consejos

Ha revisado el applicationDidFinishLaunching: Opciones: llamada en delegado de la aplicación

Las opciones:. Se añadió parámetro en 3.0 y no está presente en cualquiera de mi pre-3.0 de código, aunque la forma anterior todavía funciona

El diccionario sobre las opciones:. Se utiliza para pasar información a su aplicación, como por ejemplo 'era Empecé con una dirección URL de Safari', etc.

Si tiene previsto ejecutar en 2.0, probablemente debería cambiar esta nuevo a la original 'applicationDidFinishLaunching:'.

2.x está completamente obsoleta para publicar en la tienda de aplicaciones. Usted debe ser capaz de instalarlo en un dispositivo que utiliza una versión anterior de xCode, pero eso es todo. Más información en mi comunidad wiki aquí:

Instalar xCode 3.2.3 w / iPhone SDK 4, obtener "Base SDK perdido", no puede ver otros SDK

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top