2011-08-30 5 views
5

Uno de los requisitos previos dentro de Xcode es establecer las imágenes 'Predeterminado' y 'Predeterminado @ 2x' para cuando se cargue la aplicación iPhone.Generar una pantalla predeterminada aleatoria en iOS

¿Es posible tener un número de pantallas predeterminadas hechas, insertadas en el proyecto en formato png y cada vez que se carga la aplicación, elija una pantalla predeterminada aleatoria para usar?

+2

Sugeriría una pregunta más específica: ¿Es posible en tiempo de ejecución cambiar la imagen predeterminada? Si puede, agregar aleatoriedad es trivial e incluirlo en su pregunta solo hace que sea más difícil responder. –

+0

Aprecio que trolling la pregunta. Sin embargo, las respuestas a continuación resultaron satisfactorias. Gracias –

+0

. Solo fue un consejo amistoso: me disculpo si me alejé. Simplemente encuentro que, en general, hacer la pregunta más simple posible dará lugar a más y mejores respuestas, ya que es más fácil para los demás entender lo que estás preguntando (esperaba algo diferente en función del título). –

Respuesta

8

No puede cambiar Default.png. Una vez que se envía la aplicación, está "hecha en piedra". Hasta la próxima versión, eso es. La razón es simple (y lo mismo por lo que no puedes cambiar el ícono de las aplicaciones). El paquete de la aplicación es de solo lectura. Se hace solo de lectura porque está firmado por usted y por Apple. Modificar el contenido del paquete invalidaría la firma.

+0

Gracias por la respuesta Eimantas, sospeché tanto. Solo tuve una buena idea para mi próxima aplicación, pero la implementaré a través de diferentes medios. Gracias de nuevo. –

1

No hay forma de cambiar la pantalla de inicio sin reconstruir la aplicación. Su nombre está codificado en info plist o tiene el valor predeterminado "Default.png" si no hay nada configurado en el plist.

Dado que el archivo de imagen y el archivo plist están dentro del paquete de la aplicación que está firmado digitalmente, incluso si pudiera cambiar alguno de ellos (no puede hacerlo ya que es de solo lectura), la firma de su aplicación se invalidaría y se bloquearía -Juguetes desbloqueados.

7

Puede cambiar la pantalla por defecto en iOS (al menos después de la primera puesta en marcha) mediante el establecimiento de UILaunchImageFile propiedad en el info.plist, y luego escribir una nueva imagen a la carpeta Documentos.

por ejemplo.

<key>UILaunchImageFile</key> 
<string>../Documents/NewDefault.png</string> 

luego escriba su salpicaduras al azar a /Documents/NewDefault.png.


parece que tengo que ser más prescriptivo ... No estoy sugiriendo que modificar nada en su paquete de aplicaciones en tiempo de ejecución, como se ha dicho, eso no puede ocurrir.

Pero debido a que la carpeta /Documents se sienta junto a la carpeta .app, se puede establecer el UILaunchImageFile a través de una ruta relativa, y luego poner un archivo en la ruta especificada cuando se ejecuta la aplicación. Hemos hecho esto, y funciona, así que antes de votar, inténtalo tú mismo.

+1

¿Se ha intentado y verificado? Por lo que sé, este archivo (info.plist) es SÓLO de solo lectura. – Jann

+0

Sí, hemos hecho esto. No está escribiendo en el info.plist, está escribiendo en la carpeta Documentos. –

+0

¿cómo se puede "" "anular la propiedad UILaunchImageFile en el info.plist" "" sin escribir en info.plist? – dklt

Cuestiones relacionadas