iTunes Application Loader - 自动化

时间:2010-08-10 14:54:01

标签: macos scripting applescript itunesconnect

最近Apple更改了iTunes Connect界面,人们需要使用Application Loader上传应用程序。

这很好,但我需要一个自动化工作的脚本。

App Loader这样的应用如何实现自动化?

我在考虑用AppleScript编写的东西......但我不知道它暴露了什么行为(如果有的话)。发现某个地方我也可以在AppleScript中做GUI脚本,但我找不到文档。

我需要什么...某种方式触发输入操作(鼠标点击/键盘输入)并从显示的各种控件中读取文本。

如果在Python / Ruby中可行,那就太棒了,但AppleScript很好。

OS X是版本10.6.4。

任何建议都表示赞赏。

谢谢,

3 个答案:

答案 0 :(得分:19)

Application Loader文档提到了一个可用于此目的的altool。 (https://itunesconnect.apple.com/docs/UsingApplicationLoader.pdf

相关信息:

  

您可以使用altool,Application Loader的命令行工具   验证应用程序二进制文件并将其上载到App   存储。

     

在上传之前验证您的构建或自动上传有效的内容   构建到App Store,您可以在连续中包含altool   集成系统。 altool位于应用程序中   Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/   夹。 (如此完整的道路将是   /Applications/Xcode.app/Contents/Applications/Application \   Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool)

     

要运行altool,请在命令行中指定以下内容之一:

     

$ altool --validate-app -f file -u username [-p password]   [--output-format xml]

     

$ altool --upload-app -f file -u username [-p   密码] [ - 输出格式xml]

     

其中:

     

- validate-app指定您要验证指定的应用程序。

     

- upload-app指定您要上传指定的应用程序。

     

-f file指定要验证或上载的应用程序的路径和文件名。

     

-u username指定您的用户名(Apple ID)。

     

-p password指定您的用户密码。

     

- 输出格式[xml | normal]指定您希望Application Loader以结构化XML格式或非结构化文本返回输出   格式。默认情况下,Application Loader以文本格式返回输出信息。

答案 1 :(得分:2)

为了查看任何应用程序支持的Applescript命令,您需要查看应用程序的Dictionary。 From my answer to a similar question posted just the other day

  

要在Applescript Editor中找到应用程序的Dictionary,请转到File>打开字典....操作系统知道支持Applescript的所有应用程序列表都会出现,但操作系统不会全部捕获它们,因此您可以使用“浏览”按钮。如果应用程序不支持Applescript,则无法在对话框窗口中选择它。

     

需要注意的是,应用程序应该支持某些命令但不支持,或者应用程序可能只支持最低要求。这些都非常非常简单,如开放,退出等。您的里程可能会有所不同。

从GUI脚本can be found on the OS X Automation site开始的信息。 GUI Scripting是一种时髦的方式,我不认为你可以获得屏幕控制的值,而只是设置它们。你应该只在没有其他途径的情况下这样做。

如果您希望坚持使用Python,那么您可以查看py-appscript project,但这仍然依赖于应用程序的Applescript支持。

答案 2 :(得分:2)

您可以逐个bash脚本使用所有这些命令中的任何一个,也可以在一个bash脚本中全部使用这些命令,以实际自动执行将存档,提取和上载到AppStore Connect的过程。

存档

xcodebuild -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" clean archive -configuration release -sdk iphoneos -archivePath ".build/${TEMP_BUILD}.xcarchive"

导出到IPA

xcodebuild -exportArchive -archivePath  ".build/${TEMP_BUILD}.xcarchive" -exportOptionsPlist  "ExportOptions.plist" -exportPath  ".build/${TEMP_BUILD}.ipa"

将IPA上载到TESTFLIGHT

altool --upload-app -f ".build/${TEMP_BUILD}.ipa/${APP_NAME}.ipa" -u $APP_STORE_USERNAME -p $APP_STORE_PASSWORD
  

1)如果您不知道应该使用什么,那么ExportOptions.plist文件应该是   看看here

     

2)要在终端的任何地方使用altool,可以将其添加到   在终端输入PATH env变量:

MacBook-Pro:~ denis$ export PATH=$PATH:/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/
MacBook-Pro:~ denis$ source ~/.bash_profile