2011-01-20 24 views
6

Tengo un fondo de Java, Apache Maven y Android y estoy incursionando un poco con iOS. Ahora me pregunto si hay algún tipo de cadena de herramientas estándar que ayuda con cosas comoHerramienta de compilación y gestión de proyectos para compilación y dependencias de iOs

  • gestión de datos SCM (SVN, GIT, mercuriales, ramificaciones, etiquetado ..)
  • gestión de la liberación (la numeración de versiones, gestión dev vs configuración prod ...)
  • trabajar con dependencias (por ejemplo centralizada para múltiples proyectos y desarrolladores, acceso remoto)
  • IDE acumulación independiente
  • CI construcción
  • las bibliotecas de pruebas (pruebas unitarias , Pruebas de integración, pruebas de interfaz de usuario, burlándose)
  • análisis estático
  • proyecto de salud de informes
  • otros IDE

y un montón de otras cosas que el ecosistema Maven ofrece como repositorios de bibliotecas públicas, etc. . Desde mi investigación inicial, no parece haber mucho alrededor, pero podría estar buscando en los lugares equivocados.

¿Cuáles son las herramientas y bibliotecas imprescindibles para el desarrollo de iOS?

También tengo la impresión de que Xcode lo gobierna todo y si una característica no está allí, no tiene suerte (por ejemplo, soporte de git o hg) y agrega otras herramientas. Eso está bien, pero siempre tendrá que usar Xcode, ¿verdad?

Respuesta

5
  • administración de detalles de SCM: Xcode tiene soporte limitado para algunos SCM. Hay buenas interfaces SVN de terceros: uso Versions by Sofa.
  • dependencias: Xcode hace un buen trabajo aquí.
  • compilación IDE-independiente: hay una herramienta de línea de comandos llamada xcodebuild que crea proyectos Xcode. Si quieres intentar compilar y vincular un proyecto de aplicación para iOS sin usar Xcode, entonces buena suerte e ir a make o tu herramienta de compilación favorita. Podrías mirar la aplicación gnustep para ver cómo crear aplicaciones con make, y luego exportarlas a proyectos de iOS. Tenga en cuenta que aún necesitará instalar Xcode para compilar incluso si usa otras herramientas, porque necesita el SDK.
  • CI build: Yo uso CruiseControl.rb, algunas personas usan Hudson.
  • análisis estático: Xcode. Presiona "construir y analizar".
+0

¿Cómo Xcode hacer un buen trabajo en la gestión de dependencias? P.ej. sin depender de las ubicaciones absolutas de la biblioteca (ruta sabia) o simplemente incluir la biblioteca en el proyecto directamente. Eso no parece escalar bien con, p. la versión cambia en muchos proyectos. –

+0

Entonces, para CI, debe ejecutar el servidor Mac con el SDK y, por ejemplo, Hudson, y usar xcodebuild, ¿verdad? –

+0

@Manfred: puede hacer que los destinos de Xcode dependan de otros objetivos, y puede proporcionar rutas relativas a cosas que no están en otros objetivos. Eso sí, como los objetivos solo pueden ejecutar scripts de shells, no hay muchas excusas para que las cosas no sean objetivos de Xcode :). Respecto a CI, sí: dado que solo puedes construir aplicaciones de iOS en Mac OS X, tu robot de compilación debe estar en una Mac. –

0

Puede build unit tests directamente en su proyecto en Xcode y se ejecutarán durante el proceso de compilación. Para cualquiera que esté familiarizado con junit, le parecerá muy sencillo y natural. Hubo sesiones en la WWDC 2010 sobre las pruebas automatizadas con instrumentos que también podrían cumplir un rol de prueba de integración para usted. Era la sesión 306 si desea buscar el video y los materiales en el sitio para desarrolladores de Apple. Lo investigué pero no hice ninguna de las pruebas de UI, por lo que no puedo decir qué tan fácil o completo es.

+0

Las pruebas automatizadas con instrumentos también deberían ser adecuadas para las pruebas de IU. –

7

Hemos abierto nuestro plug-in XCode Maven hace algunas semanas. En SAP lo usamos para construir todas nuestras aplicaciones y bibliotecas de iOS de forma centralizada en una forma compatible con Maven on a Hudson. Las bibliotecas y las aplicaciones se implementan en Nexus y Maven las resuelve automáticamente (a las bibliotecas).

Todavía falta documentación general y binarios en Maven central, pero las fuentes y la documentación técnica ya están disponibles en Github. Si tiene preguntas, por favor escriba a nuestra lista de correo. Trataremos de ayudarte.

http://sap-production.github.com/xcode-maven-plugin
https://github.com/sap-production/xcode-maven-plugin

Saludos, Alex

+0

Guau .. eso es increíble. ¿Cómo es que eso no ha golpeado a los medios más? P.ej. no había nada en la lista de correo de los usuarios maven o más. –

Cuestiones relacionadas