2010-08-10 6 views
6

Depuis récemment, Apple a modifié l'interface iTunes Connect et les utilisateurs doivent télécharger des applications avec Application Loader.iTunes Application Loader - automation

C'est bien, mais j'ai besoin d'un script pour automatiser mon travail.

Comment une application comme App Loader peut-elle être automatisée?

Je pensais à quelque chose écrit en AppleScript ... mais je ne sais pas quelles actions il expose (le cas échéant). Trouvé quelque part que je pourrais aussi faire des scripts GUI à partir d'AppleScript, mais je ne trouve pas de documents sur ce sujet. Ce dont j'ai besoin ... un moyen de déclencher des actions de saisie (clics de souris/saisie au clavier) et de lire le texte à partir des différents contrôles affichés.

Si cela était possible en Python/Ruby ce serait génial, mais AppleScript est bien.

OS X est la version 10.6.4.

Toutes les suggestions sont appréciées.

Merci,

Répondre

16

La documentation de l'application Loader mentionne une altool pouvant être utilisée à cette fin. (https://itunesconnect.apple.com/docs/UsingApplicationLoader.pdf)

Les informations pertinentes:

Vous pouvez utiliser altool, l'outil de ligne de commande de chargeur d'application pour la validation et de télécharger vos applications fichiers binaires à l'App Store.

Pour valider votre build avant le téléchargement ou pour automatiser le téléchargement des builds dans l'App Store, vous pouvez inclure l'altool dans vos systèmes d'intégration continus .Altool se trouve dans le dossier Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/ . (Chemin complet serait donc /Applications/Xcode.app/Contents/Applications/Application \ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool)

Pour exécuter altool, spécifiez une des options suivantes à la ligne de commande:

$ altool --validate-app -U fichier -f [mot de passe -p] [xml --output format]

$ altool --upload- app -f fichier -u nom d'utilisateur [-p mot de passe] [--output-format xml]

Où:

--validate-app Indique que vous voulez valider l'application spécifiée.

--upload-app Spécifie que vous souhaitez télécharger l'application spécifiée. Spécifie le chemin et le nom de fichier de l'application que vous validez ou téléchargez. -f fichier

-u nom d'utilisateur Spécifie votre nom d'utilisateur.

-p mot de passe Spécifie votre mot de passe utilisateur.

--output-format [xml | normal] Spécifie que vous voulez que l'application Loader renvoie la sortie au format XML structuré ou au format de texte non structuré . Par défaut, Application Loader renvoie les informations de sortie au format texte.

+0

Désolé, je sais que c'est une vieille question, mais cela vient toujours dans Google et j'aimerais que cette nouvelle information soit disponible. –

+0

Tchad, merci d'y avoir ajouté. Je suis passé à d'autres choses et à ce moment-là, j'ai fini par automatiser le chargeur d'applications avec les scripts Cocoa, car l'interface CLI n'était pas disponible. Heureux qu'il y ait une interface de ligne de commande maintenant. Salutations, –

+0

Merci d'avoir posté le chemin complet de 'altool'. –

2

Pour voir ce AppleScript commandes des supports d'application, alors vous devez regarder le Dictionnaire de l'application. From my answer to a similar question posted just the other day:

Pour obtenir au dictionnaire dans le l'éditeur AppleScript d'une application, allez dans Fichier> Ouvrir un dictionnaire .... Une liste de toutes les applications que le système d'exploitation prend en charge le sait AppleScript apparaît, mais le système d'exploitation ne attrapez-les tous pour pouvoir utiliser le bouton Parcourir. Si une application ne prend pas en charge Applescript, elle ne sera pas sélectionnable dans la fenêtre de dialogue. L'inconvénient de ceci est qu'il existe certaines commandes qu'une application est censée supporter mais pas, ou qu'une application peut uniquement prendre en charge les exigences minimales. Tout cela est très, très simple comme ouvrir, quitter, etc. Votre kilométrage peut varier.

Informations à commencer par le script GUI can be found on the OS X Automation site. GUI Scripting est une manière géniale d'aller, et je ne pense pas que vous pouvez obtenir les valeurs des contrôles à l'écran, au lieu de les définir. Vous devriez seulement faire ceci si aucune autre avenue ne fonctionne.

Si vous souhaitez rester avec Python, alors vous pouvez regarder le py-appscript project, mais cela dépend toujours de la prise en charge Applescript de l'application.

+0

Merci Philip ... que la suggestion de py-appscript était utile. Malheureusement, l'application ne possède pas de dictionnaire, ce qui fait que je n'ai que des scripts d'interface utilisateur. Cependant, je pense que j'ai réussi à le faire. Vous pouvez obtenir la valeur d'un élément avec quelque chose comme ... "obtenir la valeur du champ de texte 1 de la ligne 1 ..."; et ceci est utile pour les rapports d'erreurs. –

+0

Je ne suis pas surpris par l'absence d'un dictionnaire. Applescript est, plus ou moins, tombé en disgrâce auprès d'Apple, semble-t-il. Ils ne font que des implémentations dans leurs applications phares plus publiques, et même alors, on pourrait dire qu'ils sont incomplets. Dans ce cas, les scripts GUI sont vraiment la seule solution. Le seul véritable piège que je connaisse (autre que la syntaxe et le suivi du contrôle que vous manipulez) est que les fenêtres d'alerte et de dialogue involontaires peuvent (et vont) provoquer l'erreur du script. Bonne chance! –

+0

Oui, j'ai déjà eu quelques problèmes avec des alertes/boîtes de dialogue non désirées. Mais pour minimiser de telles instances, lorsque le script démarre, je termine d'abord l'application pour me débarrasser de l'état précédent. Si elle ne peut pas être terminée normalement (comme dans le cas où l'application demande une confirmation ou quelque chose), je fais alors un "kill -9". Partir de zéro sur chaque action aide beaucoup à cet égard. –