最近Apple更改了iTunes Connect界面,人们需要使用Application Loader上传应用程序。
这很好,但我需要一个自动化工作的脚本。
App Loader这样的应用如何实现自动化?
我在考虑用AppleScript编写的东西......但我不知道它暴露了什么行为(如果有的话)。发现某个地方我也可以在AppleScript中做GUI脚本,但我找不到文档。
我需要什么...某种方式触发输入操作(鼠标点击/键盘输入)并从显示的各种控件中读取文本。
如果在Python / Ruby中可行,那就太棒了,但AppleScript很好。
OS X是版本10.6.4。
任何建议都表示赞赏。
谢谢,
答案 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