iTunes Application Loader - 自动化

问题描述 投票:9回答:3

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

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

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

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

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

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

OS X是版本10.6.4。

任何建议表示赞赏。

谢谢,

macos scripting applescript itunesconnect
3个回答
19
投票

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

相关信息:

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

要在上载之前验证构建或自动将有效构建上载到App Store,您可以在持续集成系统中包含altool。 altool位于Application 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 password] [ - output-format xml]

哪里:

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

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

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

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

-p password指定用户密码。

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


2
投票

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

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

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

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

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


2
投票

您可以逐个使用这些命令,也可以在一个bash脚本中使用这些命令,以实际将存档,提取和上载过程自动化到AppStore Connect。

ARCHIVE

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
© www.soinside.com 2019 - 2024. All rights reserved.