代码之家  ›  专栏  ›  技术社区  ›  Alexandru Nedelcu

iTunes应用程序加载器-自动化

  •  9
  • Alexandru Nedelcu  · 技术社区  · 14 年前

    自从最近苹果改变了iTunes连接界面,人们需要用应用程序加载器上传应用程序。

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

    像应用程序加载器这样的应用程序如何实现自动化?

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

    我需要的…某种方法可以触发输入操作(鼠标单击/键盘输入)并从显示的各种控件中读取文本。

    如果这在python/ruby中是可能的,那就太好了,但是applescript是可以的。

    OS X是10.6.4版。

    如有任何建议,我们将不胜感激。

    谢谢,

    3 回复  |  直到 6 年前
        1
  •  19
  •   alanaktion user187291    6 年前

    应用程序加载器文档提到一个可用于此目的的Altool。( https://itunesconnect.apple.com/docs/UsingApplicationLoader.pdf )

    相关信息:

    您可以使用Altool、应用程序加载器的命令行工具 验证应用程序二进制文件并将其上载到应用程序 商店。

    在上载之前验证生成或自动上载有效的 构建到应用程序商店,您可以在您的连续 集成系统。Altool位于应用程序中 loader.app/contents/frameworks/itunessoftwareservice.framework/versions/a/support/ 文件夹。(所以完整的路径是 /应用程序/xcode.app/contents/applications/application\ loader.app/contents/frameworks/itunessoftwareservice.framework/support/altool)

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

    $altool--验证app-f文件-u用户名[-p密码] [--输出格式xml]

    $altool--上传app-f文件-u用户名[-p 密码][--输出格式xml]

    在哪里?

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

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

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

    -u username指定您的用户名(apple id)。

    -p password指定用户密码。

    --output format[xml_normal]指定希望应用程序加载器返回结构化XML格式或非结构化文本的输出。 格式。默认情况下,应用程序加载器以文本格式返回输出信息。

        2
  •  2
  •   Community CDub    7 年前

    为了查看任何应用程序支持哪些applescript命令,您需要查看该应用程序的字典。 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 . 图形用户界面脚本是一种很时髦的方式,我认为你不能得到屏幕上控件的值,而只能设置它们。只有在没有其他道路可以通行的情况下,你才应该这样做。

    如果您希望继续使用python,那么可以查看 py-appscript project 但这仍然取决于应用程序的AppleScript支持。

        3
  •  2
  •   denis_lor    6 年前

    您可以使用这些命令中的任何一个,一个接一个或全部在一个bash脚本中,以实际自动化您的归档、提取和上传过程到AppStoreConnect。

    档案文件

    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到试飞

    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