Instalar las aplicaciones iOS y Android de assembly y producción en su dispositivo

Tengo una aplicación que ya está publicada tanto en App Store como en Play Store. La aplicación publicada apunta a mi server de producción. Lo que quiero hacer es que mis dispositivos instalen una aplicación "provisional" que apunta a mi server provisional, de modo que no me equivoque con los usuarios reales durante mi desarrollo. Entonces, esencialmente, mi dispositivo tendría dos de mis aplicaciones: MyApp y MyApp_Staging. La aplicación provisional debe poder distribuirse a mis evaluadores.

Utilizo la function Push Notification de Parse. ¿Cómo puede la aplicación provisional tener la misma function? ¿Necesito otra count de desarrollador para la aplicación provisional?

He estado mirando las funciones de iOS Beta Testing. Parece que mi aplicación provisional debe ser revisada por Apple antes de presionar a mis evaluadores. ¿Cómo puedo omitir el process de revisión? Para Android, la implementación por etapas parece una buena idea, pero la aplicación por etapas replaceá la aplicación de producción.

¿Hay alguna forma de tener las aplicaciones de producción y de assembly instaladas en los dispositivos?

Para iOS:

Tengo una aplicación de assembly y producción para iOS instalada en el mismo dispositivo. No puedo responder a esto para Android, pero aquí está mi configuration para iOS con las notifications push de Parse.

R: Múltiples versiones de la aplicación en el mismo dispositivo:

Para que las aplicaciones se instalen en el mismo dispositivo, necesitan tener diferentes identificadores de package. Para hacer eso:

  1. Abra su proyecto y vaya a la pestaña Información para su objective.
  2. Localice la configuration para el identificador de package.
  3. Agregue un sufijo al final del identificador de la siguiente manera: com.MyApp$(BUNDLE_ID_SUFFIX)
  4. Ahora abra la pestaña Configuración de compilation y agregue una nueva configuration definida por el usuario
  5. Establezca el nombre de la configuration be BUNDLE_ID_SUFFIX
  6. Agregue un sufijo diferente para cada una de las configuraciones de compilation que tenga. ej., Debug podría tener el valor .debug . Deje el sufijo para la configuration de Liberación vacía. Tengo 3 configuraciones de construcción con diferentes sufijos.
    • Depurar para probar mientras estoy desarrollando
    • Adhoc para liberar construcciones adhoc para probadores.
    • Lanzamiento para su lanzamiento a la App Store.
  7. Si sigues esta ruta, notarás que todas las versiones de la aplicación instaladas en tu dispositivo tienen el mismo nombre y será difícil diferenciarlas.
  8. Para solucionarlo, vuelve a la pestaña Información y edita la configuration para el nombre de visualización del package para decir ${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}
  9. Similar a lo que hicimos anteriormente, crea una nueva configuration definida por el usuario con el nombre BUNDLE_DISPLAY_NAME_SUFFIX y agrega diferentes valores para cada configuration de compilation. por ejemplo, la mía dice α y β.

Lo anterior le permitirá instalar varias versiones de la aplicación en un solo dispositivo.

B: Configurar las notifications push utilizando el análisis entre las versiones.

Para configurar las notifications push de Parse para que funcionen en estas versiones: siga el tutorial de Parse para crear certificates y perfiles de aprovisionamiento para cada uno de los identificadores de package. Por ejemplo, tengo 3 certificates / perfiles de aprovisionamiento para mis 3 identificadores de package:

  1. com.MyApp.debug es un perfil de desarrollo para DEBUG.
  2. com.MyApp.adhoc es un perfil de producción AdHoc para testings Ad Hoc.
  3. com.MyApp es un perfil de producción de AppStore para enviar a la App Store.

Asegúrese de establecer los perfiles de aprovisionamiento correctos en su configuration de compilation, para que la aplicación esté firmada correctamente.

Cargue todos los certificates a Parse.com. Parse le permite tener 6 diferentes certificates push de iOS.

C: Utilización de diferentes serveres de producción y almacenamiento.

Configure las macros de preprocesamiento en la pestaña Configuración de compilation . Busque Preprocesador y bajo Apple LLVM 6.1 – Preprocesamiento para la configuration Las macros del preprocesador configuran diferentes macros para cada configuration de compilation. por ejemplo, la mía dice para Adhoc ADHOC=1 , para Debug DEBUG=1

Luego, en algún lugar de su código fuente tiene algo como sigue:

 #if defined(DEBUG) #define SERVER <development server> #else #if defined(ADHOC) #define SERVER <staging server> #else #define SERVER <production server> #endif 

D: Envío de comstackciones a probadores.

Es probable que este tema haya sido cubierto varias veces. No me gusta el process de testing Beta de Apple. Hay muchas otras soluciones. El que más me gusta es Beta by Crashlytics .

Puede leer sobre esto aquí: http://try.crashlytics.com/beta/

Implemente la configuration de compilation de AdHoc a probadores, ya que está construido con el perfil de aprovisionamiento de Adhoc, que me permite implementarlo en 100 dispositivos sin la aprobación de Apple.

Para Android

  • Para instalar ambos en el mismo dispositivo al mismo time, use diferentes nombres de package para la aplicación.

com.company.testapp – Para la aplicación en la puesta en escena

com.company.live : para la aplicación en modo en vivo

  • Para la interacción con el server, utilice diferentes URL (URL) en ambas aplicaciones, por ejemplo, almacene urls en algún file y use lo mismo que las variables estáticas.

  • Desplegar el código de notificación GCM / push para ambos en diferentes serveres.