使用Transporter从Linux处理iOS App元数据

苹果公司在WWDC18上宣布了新的AppStore Connect API,可直接与App Store通信。 为了更多地了解这些API,请参阅以前的博客文章。 这显然是巨大的,并且改变了游戏规则,但苹果公司还宣布了另一件事,这可能是在WWDC会议上有关“ App Store Connect的新功能”的注意事项,它支持Linux平台上的Transporter工具。 这意味着我们现在可以使用Linux服务器上载和验证iOS应用程序元数据和预览。 在本文中,我们将探讨如何使用Trasporter工具使用Linux服务器处理App Store。

在开始使用Linux之前,让我们评估一下Trasporter是什么以及目前如何在macOS服务器上使用它。 运输工具也称为iTMSTrasporter。 iTMSTransporter代表iTunes Music Store Transporter,它是Apple基于Java的命令行工具,用于上传应用程序二进制文件,上传屏幕截图,更新应用程序元数据,管理应用程序价格,管理应用程序内购买等。该实用程序是Xcode随附的,因此只要您具有Xcode,就无需显式安装它。 二进制文件可以在这里找到:

  $ /Applications/Xcode.app/Contents/Applications/Application \ Loader.app/Contents/itms/bin/iTMSTransporter 

您可以在$ PATH中添加以上内容,以便可以直接从终端使用ITMSTransporter。 现在,我们可以使用以下方法探索Trasporter随附的各种命令行选项

  $ iTMSTransporter-帮助 

我们可以按照Apple官方文档中的说明为Trasporter工具提供各种选项,但我们可能很少需要与验证和上传元数据有关的选项。 总之,这是三步过程

  • 使用lookupMetadata参数下载应用程序的.itmsp文件存根软件包。
  • 使用verify参数验证应用程序包的内容。
  • 最后,使用上载参数将应用程序包上载到iTunes Connect。

Transporter可以验证元数据并将其上传到App Store,但是上载伙伴必须经过Transporter认证过程的批准才能使用此交付方式。 以前使用的交付方式是Signiant和Aspera。 有第三方方法,而不是Apple的方法。

借助macOS,Trasporter附带了Xcode,因此无需明确安装。 在网上搜索时,我在此博客文章中找到了macOS的Traspoter工具的位置

  https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/resources/download/Transporter__OSX/bin/ 

但是,当涉及到Linux时,没有Xcode,因此我们需要找到Apple官方服务器上某处托管的二进制文件的位置,然后在Linux上安装。 为了安装Trasporter,我们需要以将运行Transporter工具的用户身份登录。 苹果公司根据内容类型托管了Trasporter工具,例如对于音乐:http://itunespartner.apple.com/music/tools。 我们必须选择Red Hat Enterprise Linux链接才能下载shell脚本安装包。 我们将获得压缩包iTMSTransporter_installer_linux.1.9.8.sh.gz,然后可以根据您的Linux风格使用合适的解压缩软件来解压缩该软件包。

  $ gunzip iTMSTransporter_installer_linux.1.9.8.sh.gz 

该软件包具有shell脚本,我们需要使用admin用户明确运行该脚本。

  $ sudo sh iTMSTransporter_installer_linux_1.9.8.sh 

这可能会要求用户接受许可协议,完成后,我们将在/ usr / local / itms位置安装Trasporter工具

Apple的官方文档中提到了许多命令行选项,可用于各种用途的Trasporter工具。

记住,Linux服务器只是与App Store交流的粘合剂。 我们需要App Sore Connect中已经有App。 我们仍然需要使用App Store凭据来授权自己。 以前使用的方法有Signiant和Aspera。 但是,通过新的App Store Connect API,我们可以使用JWT令牌上传元数据和资产。 生成新的API密钥并从App Store Connect下载私钥后,我们可以使用以下步骤创建JWT令牌。 请观看WWDC会话自动化App Store Connect以了解整个过程。 您可以在此处参考以前的博客文章,其中介绍了为App Store Connect API生成令牌的过程。

我们可以在Linux服务器上使用与该帖子中提到的相同类型的Ruby脚本来生成令牌并处理App Store Connect。

由于许多Continuous Integration服务器仍基于Linux,因此我们可以使用相同的服务器将预先生成的iOS应用程序元数据上传到App Store Connect。 我们仍然可以使用现有的Cloud Infrastructure执行此操作。 但是,我怀疑我们中有多少人会使用此功能,因为我们已经在Cloud上托管了各种macOS服务器。 但是,很高兴知道,它也可以在Linux服务器上完成,如果它适合基础结构工作流程,也许有人可以从中受益。

像XCBlog的 XCTEQ 发布的帖子一样 您可能还喜欢我们的一些服务,例如访客博客或Mobile DevOps(CI / CD)或测试自动化。 Github 搜索我们的 服务 ,开源项目, 或者在 Twitter Facebook Youtube LinkedIn 上关注我们 下载我们的 XCBlog iOS应用程序以离线阅读博客。

X CTEQ 一家专门从事基于Mobile DevOps,CI / CD,Mobile,AI / ML的测试自动化Checkout XCTEQ产品和服务的公司, 网址 http://www.xcteq.co.uk 或写信给我们info@xcteq.co。英国..