Frecuentemente encuentro que necesito tener una compilación en mi iPhone que es mi versión 'demo-ready' que podría apuntar a mi servidor de demostración. También quiero una compilación que sea la compilación de depuración más reciente y mejor que estoy desarrollando con eso apunta a mi servidor de desarrollo. ¿Alguien ha encontrado una forma muy sencilla de instalar dos aplicaciones que quizás son exactamente el mismo código pero apuntan a diferentes servidores? Alternativamente, ¿tal vez tendría una aplicación que tenía algunas versiones detrás de la última versión? De preferencia, usaría el mismo proyecto de XCode para compilar e instalar en el iPhone.¿Cuál es la mejor forma de usar XCode para instalar varias compilaciones de la misma aplicación iOS en su iPhone?
Respuesta
Puede agregar configuraciones de compilación especiales para cada una de las cuales use un archivo info.plist diferente. Entonces, tal vez para su demostración, tiene una info.plist llamada MyApp-Info-DEMO.plist y MyApp-Info.plist para la versión.
Luego puede agregar su variable de servidor como una variable info.plist y buscarla cuando se inicie la aplicación. O simplemente cree una sentencia DEFINE en su nueva configuración que sea similar a SERVER = demo.myserver.com para la demostración y SERVER = production.myserver.com para la versión en vivo.
La parte más importante es cambiar CFBundleIdentifier en el nuevo info.plist. Entonces, en su demo, podría nombrar algo como com.mycompany.myapp.DEMO y el verdadero podría ser com.mycompany.myapp.
Esto permitirá que ambas versiones aparezcan en el teléfono al mismo tiempo (los diferentes CFBundleIdentifiers). Solo recuerde, si usa compras en la aplicación o notificaciones push del servidor, no podrá hacer esto sin un perfil separado y específico para su identificador de aplicación real y su demo.
Con la versión actual de Xcode, lograría esto cambiando el archivo Info.plist de la aplicación para usar un identificador de paquete diferente (y posiblemente también cambie el nombre del producto de la aplicación en la configuración de compilación).
La próxima versión de Xcode, por lo que he leído en la documentación preliminar, tiene una función que puede simplificar lo que quiere hacer bastante. Sin embargo, dado que el software de prelanzamiento está cubierto por NDA, no puedo darle ningún detalle.
Puede crear 2 objetivos diferentes con 2 info.plists diferentes y 2 preprocesadores diferentes (en la configuración de compilación para cada uno de los 2 objetivos). Entonces ifdef en el preprocesador define para seleccionar la constante del servidor que el compilador usa para cada objetivo.
Luego, haga que el nombre del producto y el ID del paquete sean diferentes en las dos configuraciones de destino diferentes (para que ni el dispositivo ni el Simulador confundan los dos paquetes de aplicaciones).
- 1. ¿Instalar la aplicación iOS en el simulador xcode?
- 2. ¿Cuál es la mejor forma de transferir un objeto entre dos dispositivos iOS con la misma aplicación?
- 3. Misma base de código para la aplicación iPhone/Escritorio
- 4. ¿Cuál es la mejor forma de usar NLog con MEF?
- 5. ¿Cómo construyo varias versiones de la misma aplicación de iOS para OEM
- 6. ¿Cuál es la forma estándar de organizar el código de iPhone MVC en XCode?
- 7. ¿Cuál es la forma pitónica de ajustar varias funciones de la misma manera con las declaraciones
- 8. ¿Es posible instalar varias instancias de la misma aplicación de servicio Delphi?
- 9. ¿Cuál es la mejor forma de integrar el control de la versión de TFS
- 10. ¿Cuál es la mejor forma de distribuir aplicaciones Java?
- 11. ¿Cuál es la mejor forma de transcodificar un video en Object-C (iOS)?
- 12. ¿Cuál es la forma estándar/mejor de implementación de ruta en iPhone?
- 13. ¿Cuál es la mejor biblioteca de Java para habilitar la cuadrícula/clúster de su aplicación?
- 14. ¿Cómo instalar/usar RegexKitLite para una aplicación de iPhone?
- 15. ¿Versiones para iPhone y iPad de la misma aplicación?
- 16. Xcode Administración de archivos. ¿Cuál es la mejor práctica?
- 17. ¿Cuál es la mejor práctica de crear cola de tareas persistentes en la aplicación iOS?
- 18. ¿Cuál es el mejor enfoque para aprender la aplicación iPhone Dev?
- 19. Android: varias versiones personalizadas de la misma aplicación
- 20. iphone: enviar la aplicación con iOS 5 y XCode 4.2?
- 21. ¿Cuál es la mejor práctica para registrar errores/eventos en una aplicación de iPhone?
- 22. Cuál es la mejor aplicación de .dispose()
- 23. ¿Es posible usar rsync dentro de la aplicación de iOS?
- 24. ¿La misma aplicación de FB, varias identificaciones de paquete de iOS, con diferentes sufijos?
- 25. ¿Cuál es la mejor/más segura forma de reinstalar Homebrew?
- 26. cuál es la forma 'adecuada' para usar objectWithID de NSManagedObjectContext:
- 27. ¿Cuál es la mejor manera de comparar varias propiedades javabean?
- 28. Localización para aplicaciones de iPhone: ¿cuál es su enfoque?
- 29. ¿La mejor estrategia para automatizar compilaciones múltiples desde un único proyecto xcode de etiqueta blanca?
- 30. ¿Cuál es la mejor forma de almacenar la configuración del usuario para una aplicación .NET?
En lugar de archivos separados, también puede usar '$ (BUNDLE_IDENTIFIER)' en su archivo Info.plist, luego establecer su valor como una Configuración de compilación definida por el usuario. – benzado