2010-08-10 16 views
6

Recientemente, Apple ha cambiado la interfaz de iTunes Connect y se requiere que las personas carguen aplicaciones con Application Loader.iTunes Application Loader - automatización

Eso es bueno, pero necesito un script para automatizar mi trabajo.

¿Cómo se puede automatizar una aplicación como App Loader?

Estaba pensando en algo escrito en AppleScript ... pero no sé qué acciones expone (si lo hay). Encontré un lugar en el que también podría hacer secuencias de comandos GUI desde AppleScript, pero no puedo encontrar documentos sobre eso.

Lo que necesito ... alguna forma de activar las acciones de entrada (clics del mouse/entrada del teclado) y leer el texto de los diversos controles que se muestran.

Si eso fuera posible en Python/Ruby sería genial, pero AppleScript está bien.

OS X es la versión 10.6.4.

Cualquier sugerencia es apreciada.

Gracias,

Respuesta

16

La documentación del Cargador de aplicaciones menciona un altool que se puede usar para este propósito. (https://itunesconnect.apple.com/docs/UsingApplicationLoader.pdf)

La información relevante:

Puede utilizar altool, herramienta de línea de comandos del cargador de aplicaciones para validación y carga de archivos binarios su aplicación a la App tienda.

Para validar su compilación antes de cargarla o para automatizar las cargas de versiones válidas de en App Store, puede incluir altool en sus sistemas de integración continuos .altool se encuentra en la Solicitud Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/ carpeta. (Camino a fin completa sería /Applications/Xcode.app/Contents/Applications/Application \ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool)

Para ejecutar altool, especifique uno de los siguientes en la línea de comandos:

$ altool --validate aplicación -f archivo -u usuario [-p contraseña] [formato XML --output]

$ altool --upload- aplicación -f archivo -u nombre de usuario [-p contraseña] [--output-format xml]

Dónde:

--validate aplicación Especifica que desea validar la aplicación especificada.

--upload aplicación Especifica que desea cargar la aplicación especificada. Especifique la ruta y el nombre de archivo de la aplicación que está validando o cargando. -f archivo

-u nombre de usuario Especifica el nombre de usuario.

-p contraseña Especifica la contraseña de usuario.

--output formato [xml | normal] Especifica que desea que Application Loader devuelva la salida en formato XML estructurado o formato de texto no estructurado . Por defecto, Application Loader devuelve información de salida en formato de texto.

+0

Lo siento, sé que esta es una vieja pregunta, pero aún aparece en Google y me encantaría que esta nueva información esté disponible. –

+0

Chad, gracias por agregarlo. Pasé a otras cosas y en ese momento terminé automatizando el cargador de aplicaciones con scripts Cocoa, ya que la interfaz CLI no estaba disponible. Me alegro de que haya una interfaz de línea de comando ahora. Cheers, –

+0

Gracias por publicar la ruta completa del 'altool'. –

2

Con el fin de ver lo que manda Applescript cualquier soporte de aplicación, entonces usted necesita para mirar el diccionario para la aplicación. From my answer to a similar question posted just the other day:

Para llegar al diccionario de una aplicación en el Editor Applescript vaya a Archivo> Abrir diccionario .... Una lista de todas las aplicaciones que el sistema operativo sabe apoya aparecerá Applescript, pero el sistema operativo no lo hará captúrelos todos para que pueda usar el botón Examinar. Si una aplicación no es compatible con Applescript, entonces no se podrá seleccionar en la ventana de diálogo.

La advertencia de esto es que hay ciertos comandos que se supone que una aplicación debe admitir pero no lo hace, o una aplicación solo puede admitir los requisitos mínimos. Todos estos son muy, muy simples, como abrir, dejar de fumar, etc. Su millaje puede variar.

Información para comenzar con la creación de scripts GUI can be found on the OS X Automation site. GUI Scripting es una forma original de hacerlo, y no creo que pueda obtener los valores de los controles en pantalla, sino que solo los configure. Solo deberías hacer esto si ninguna otra avenida funciona.

Si desea quedarse con Python, entonces puede mirar el py-appscript project, pero esto aún depende del soporte de Applescript de la aplicación.

+0

Gracias Felipe ... esa sugerencia py-appscript era útil. Lamentablemente, la aplicación no tiene un diccionario, por lo que la programación de IU es todo lo que tengo. Sin embargo, creo que logré hacerlo. Puede obtener el valor de algún elemento con algo como ... "obtener valor del campo de texto 1 de la fila 1 ..."; y esto es útil para informes de errores. –

+0

No me sorprende la falta de un diccionario. Applescript, más o menos, ha caído en desgracia con Apple, al parecer. Solo hacen implementaciones en sus aplicaciones más emblemáticas y públicas, e incluso entonces podría argumentarse que son características incompletas. En esos casos, las secuencias de comandos GUI es realmente la única manera de hacerlo. El único escollo real que conozco (aparte de la sintaxis y el seguimiento del control que estás manipulando) es que las ventanas de diálogo y alerta no intencionadas pueden (y harán) que el script se equivoque. ¡Buena suerte! –

+0

Sí, ya tuve algunos problemas con las alertas/cuadros de diálogo no deseados. Pero para minimizar esas instancias, cuando se inicia el script, primero termino la aplicación para deshacerme del estado anterior. Si no se puede terminar normalmente (como en el caso de que la aplicación solicite confirmación o algo así) entonces estoy haciendo un "kill -9". Empezar de cero en cada acción segura ayuda mucho en ese sentido. –