2010-01-05 9 views
13

Tengo una cantidad de aplicaciones similares en funcionalidad e interfaz de usuario. Creo la interfaz de usuario seleccionando variables de un archivo .plist. Por ejemplo, guardo la fuente de la API desde donde recojo los datos.¿Hay una API o algún otro método para automatizar el proceso de envío?

Crear una nueva aplicación implica simplemente cambiar los valores en el archivo .plist y reconstruir la aplicación, y finalmente enviarla al App Store. Además, necesito crear archivos de provisión Ad-Hoc y también crear versiones de prueba.

Deseo automatizar este proceso. Para esto necesito:

  1. Cree la aplicación a través de la interfaz de línea de comandos.

  2. Cargue los archivos binarios y otros archivos/información requeridos (icono de la aplicación, descripción, etc.) en iTunes Connect.

¿Algún puntero donde debería mirar?

+0

solo vi appmakr.com. Estaba pensando en líneas similares. ¿Cómo envían las aplicaciones? ¿Curl o POST estándar? – Abhinit

+2

En una nota personal, no envíe spam a la Tienda de aplicaciones con las aplicaciones de tipo "Llamar a Jim", "Llamar a Bob", etc. La tienda ya está llena de gente. Si está haciendo algo así como una guía de viaje que maneja múltiples ubicaciones, o libros electrónicos, considere usar compras en la aplicación y solo envíe una aplicación central que contendría todo ese contenido. –

+0

Bueno, odio las aplicaciones tanto como tú. Realmente solo quiero automatizar la mayor parte del proceso posible. Especialmente durante la fase inicial de diseño y diseño. – Abhinit

Respuesta

7

La construcción de sus proyectos de Xcode se puede automatizar utilizando la herramienta de línea de comandos xcodebuild que proporciona Apple.

En cuanto a la automatización del proceso de creación de la aplicación, Apple no ha expuesto esta funcionalidad fuera de la GUI de Xcode. Aún puedes automatizar esto y hay dos opciones.

  1. uso de Automator para crear un guión que reproduce todas las acciones de un ser humano llevaría a cabo para crear un nuevo proyecto . Partes de esta secuencia de comandos de reproducción como el nombre del proyecto, etc. se pueden personalizar y alimentados mediante programación al script. Una desventaja de este método es que esto realmente se ejecutará en la GUI y será lento.

  2. Si usted quiere hacer todo a través de la línea de comandos , que tendrá que alterar el diseño del contenido del archivo de proyecto Xcode que tiene el .xcodeproj extensión. Es un archivo comprimido y contiene unos pocos archivos de configuración XML para el proyecto completo . No hay documentación pública sobre los contenidos de estos archivos XML.

Para automatizar el proceso de envío, necesitará un script que se comunique con itunesconnect.apple.com. Aquí es donde enviarías tu aplicación a la App Store. Consulte this page para obtener más información sobre iTunes Connect. Una herramienta de automatización de navegador será útil aquí, aunque podría pasar su script personalizado que habla con iTunes Connect a través de HTTP.

En resumen, lo único que se puede utilizar fácilmente de fábrica es la herramienta xcodebuild. Todo lo demás tiene que ser de ingeniería inversa.

+0

Gracias Anurag! Pero supongo que publicar las aplicaciones en iTunes Connect supondría problemas en el futuro. ¿Qué pasa si Apple cambia el sitio? Debe haber una mejor manera de salir. – Abhinit

+0

Eso es cierto, pero no se puede evitar a menos que Apple abra algún tipo de API para iTunes Connect. Entre las opciones disponibles, una secuencia de comandos personalizada es probablemente mejor que usar una herramienta de automatización del navegador, ya que los cambios de la GUI no deberían afectar su secuencia de comandos. Sin embargo, se romperá si los elementos de formulario como el atributo de nombre cambian. Para minimizar este daño, puede colocar todos los elementos necesarios en iTunes Connect dentro de un XML o algún otro archivo de configuración, y asignarlo a sus datos reales. – Anurag

+0

@Anurag - ¿Qué quieres decir con el # 1? ¿Usar el "miráreme hacer" del automatizador? ¿Esto alguna vez funcionó para alguien? Nunca funcionó para mí, quiero decir, nunca digo que esta función funcione correctamente para la página web más simple o no la estoy usando correctamente. – SpaceDog

11

Es 2016, y ahora tenemos la herramienta de línea de comandos iTunesConnect Transporter con quick start guide here.

También, echar un vistazo a este proyecto de software libre que envuelve las herramientas Transporter (y otros) de una manera amigable:

https://fastlane.tools

+1

¡Esas herramientas son increíbles! Todos los desarrolladores de iOS deberían conocerlos. A veces paso días sobre la presentación de aplicaciones que deberían ser minutos ahora. – Idan

+0

Además, si quiere un proveedor de la nube para todo esto, visite Bitrise.io - http://bitrise.io –

Cuestiones relacionadas