2012-06-14 12 views
5

Estoy buscando el mejor enfoque para personalizar nuestra aplicación de iOS para que podamos crear fácilmente versiones de etiqueta blanca y mantenerlas sincronizadas.Base de código de biblioteca estática iOS para aplicaciones de etiqueta blanca

Un enfoque es poner toda la base de código en un proyecto de biblioteca estática. Luego, cree un proyecto separado para nuestra aplicación principal y cada aplicación de etiqueta blanca. Cada uno de estos proyectos contiene una referencia a la biblioteca de la base de código como un subproyecto, y sus propios recursos como iconos, imágenes cargadas y un archivo Info.plist.

Mi colega ha utilizado este enfoque con éxito con nuestro proyecto de hermana de Android en Eclipse.

Desafortunadamente, este enfoque podría no funcionar en xcode. xcode no parece permitir que algunos recursos se incluyan con una biblioteca estática, como Settings.bundle y Localizable.strings que son esenciales.

¿Hay alguna manera de que pueda utilizar este enfoque en xcode, o me conviene solo hacer referencia a la carpeta de código base de cada proyecto?

Editar:

Al principio yo tenía la intención de simplemente hacer referencia a la carpeta base de código de cada proyecto, pero encontré que este enfoque requeriría volver a agregar el directorio de base de código en cada proyecto cada vez que se agrega un archivo/eliminado/renombrado en la base de código.

Respuesta

4

He hecho aplicaciones con etiquetas blancas. Deberías probar los objetivos primero. Los objetivos están contenidos dentro de los proyectos. Puede incluir sus fuentes en el mismo proyecto. Coloque todo lo que varía en solo unos pocos archivos y varíe los archivos que incluya en cada objetivo.

Aún deberá asegurarse de que los archivos estén en todos sus objetivos, pero se le preguntará o obtendrá un error de enlace y si omite un archivo, solo está marcando una casilla de verificación.

Puede mantener los archivos específicos del destino bastante limitados. Tengo un archivo xcassets común y uno para cada objetivo. También tengo listas separadas y algunos otros recursos para cada objetivo. Todo lo demás es compartido.

Referencias:

+0

Gracias, parece que los objetivos serán el mejor enfoque. – RohinNZ

2

no se puede recursos de paquete con una biblioteca estática de forma automática, pero no hay nada que le impida incluyendo los recursos compartidos con la mano. Puede crear un espacio de trabajo para el proyecto personalizado, insertar el proyecto de la biblioteca en el espacio de trabajo y luego arrastrar el grupo de recursos del árbol de proyectos de la biblioteca al proyecto principal.

3

Como un proyecto de consultoría paga, estoy revisando las estrategias de marca blanca de una compañía. Han creado una serie de archivos.sh que copian toda la construcción en el nuevo nombre, incluido un nuevo archivo .plist y proyecto.

Lo que no explican es el control de versiones de esas aplicaciones; por lo tanto, creo que las bibliotecas son el mejor enfoque si puede construir su aplicación como tal. Es muy posible que tenga múltiples versiones de la misma aplicación de etiqueta blanca. (¡Una pesadilla en el mejor de los casos! LOL)

Otra cosa que quizás quiera ver es CocoaPods. No lo he usado, pero he tenido amigos que lo han hecho, les gusta porque ayuda con la administración de lib, especialmente al pasar de un entorno de desarrollo a otro.Necesito usarlo el próximo mes debido al desastre de la ruta Zxing que todos pueden enfrentar.

https://github.com/CocoaPods/CocoaPods

última recomendación - utilizar control de código fuente, como si no hubiera mañana !!!

+1

CocoaPods se ve increíble! Con solo vincular cada objetivo de construcción de etiqueta blanca a la biblioteca de pod, ya no tengo que preocuparme por actualizar manualmente cada objetivo de creación de etiqueta blanca cuando agrego o elimino una biblioteca. ¡Gracias! – RohinNZ

Cuestiones relacionadas