2009-12-19 10 views
11

Mientras estoy creando prototipos de juegos, con frecuencia necesito volver para compararlos con versiones anteriores, para tener una mejor idea de si estoy en el camino correcto o no. Pero es un proceso largo tener que verificar la versión anterior y reexportar cada vez que necesito verificar una versión específica. Sería mucho más sencillo si pudiera simplemente lanzar diferentes versiones.¿Instalando diferentes versiones del mismo proyecto de iPhone?

¿Cómo puedo tener múltiples versiones del mismo proyecto instaladas en el dispositivo?

Respuesta

11

Si le da a los programas diferentes identificadores de paquetes, se pueden instalar en el mismo dispositivo. Posiblemente agregue un nuevo objetivo de compilación que añada un número aleatorio (o revisión de compilación, o revisión de svn, etc.) al final del identificador del paquete (y posiblemente el nombre de la aplicación), luego puede tener múltiples versiones instaladas a la vez.

Por ejemplo, puede tener la aplicación "com.mycompany.mygame" con el título "MiJuego", y su secuencia de comandos creará versiones como "com.mycompany.mygame43" con el título "MiGame43".

Sin embargo, esto puede ser derrotado por el amor de Apple de hacer todo difícil para los desarrolladores, también conocido como firma de código. Personalmente, no hago mucho desarrollo de App Store, pero sé que los perfiles de aprovisionamiento pueden ser un gran problema y pueden tener problemas con este enfoque. Quién sabe.

Editar: supongo que funciona con la firma de código, pero no con las compras integradas en la aplicación.

+0

Esta es sin duda la forma en que yo también lo hago. +1. – Goles

+0

Puede valer la pena señalar que para que esto funcione, debe utilizar una ID de aplicación de comodín en su perfil de desarrollo. Menciono esto porque algunas aplicaciones, por ejemplo, las que usan compras desde la aplicación, no pueden usar identificadores comodín en los perfiles de aprovisionamiento. – Jasarien

+0

Jasarien ese es un punto importante. ¿La solución de erastusnjuki no resolvería el problema de compra en la aplicación? (cambiando el nombre del producto en lugar del identificador del paquete) –

2

Necesitará que cada versión tenga un identificador de paquete diferente.

Puede crear un script que edite su Info.plist para agregar el número de versión al identificador del paquete y crear una fase de compilación personalizada para ejecutar el script por usted ... o puede simplemente editar el identificador del paquete manualmente.

1

Editar para resaltar el anteriormente tercera opción y el camino ahora me las arreglo este problema:

me gustaría utilizar control de código fuente para etiquetar cada versión - por lo que es fácil volver al código de una versión anterior. Debería ser posible verificar el proyecto etiquetado en una carpeta separada (utilizo Subversion para esto).

Una vez que tenga la versión anterior en un directorio separado, cambie el identificador del paquete: agregue el nombre y la construcción de la etiqueta, etc. Cuando cambie el identificador del paquete, asegúrese de no cambiar el número inicial y la aplicación trabaje con su perfil de aprovisionamiento Esto supone que tiene un perfil de aprovisionamiento comodín que está utilizando para el desarrollo. Si necesita incluir Nofifications o las compras en la aplicación, es posible que no sea posible.

=============================

versión anterior de respuesta:

Tengo una rápida truco que uso para mantener versiones: utilizo diferentes versiones del simulador y durante el desarrollo sigo moviéndome entre las diferentes versiones. Si está haciendo esto con el simulador, también puede mover los archivos.

Sin embargo, en el dispositivo, tendrá que cambiar el identificador de su paquete como se menciona. Editaría la versión del paquete cada vez que quisiera congelar las funciones y pasar a una nueva fase.

Otra opción sería usar su control de versión para etiquetar cada una de sus versiones, lo que le permite volver a las versiones anteriores como proyectos separados si lo necesita y luego modificar el identificador del paquete e instalarlo como una versión separada.

Ahora que he escrito esta respuesta, creo que empezaré a usar la opción 3 y etiquetar mejor mis versiones en SVN y usar este método ya que es un poco menos aleatorio que tener que recordar qué versión tiene el simulador y me permitirá yo para implementar en dispositivos también.

2

Lo hago y funciona para mí: Utilizo el mismo proyecto con diferentes nombres de productos.

1.Changing el nombre del producto

XCode Grupo & panel Archivos -> Objetivos -> projectName -> (Ctrl + clic) Obtener Información -> Build -> Nombre del producto.

Eso me permite crear muchas aplicaciones (con diferentes nombres según la versión, por ejemplo, AppName1.1, AppName1.2) en el mismo dispositivo utilizando el mismo perfil de aprovisionamiento.

2.Para cada proyecto, creo una Carpeta con ProductName solo para fines de identificación.

Así que proyecto con el nombre de producto AppName1.1, estará en la carpeta AppName1.1 etc. Incluyo un pequeño archivo readme.txt cuando realizo muchos cambios en la carpeta de la versión.

El nombre del proyecto sigue siendo el mismo, porque si lo cambio no funcionará.

0

Acabo de comprimir todo mi proyecto en un zip cada vez que alcanzo un hito. Entonces, si necesito volver y referenciarlo o ejecutarlo, puedo extraerlo y compilarlo y tengo dos versiones separadas en las que puedo cambiar. Esta no es la solución más elegante, pero es bastante fácil de hacer y puede lanzar todas sus copias de seguridad en un disco duro externo para su seguridad.

Cuestiones relacionadas