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?
¿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. –
Entonces, para CI, debe ejecutar el servidor Mac con el SDK y, por ejemplo, Hudson, y usar xcodebuild, ¿verdad? –
@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. –