使用Transporter從Linux使用iOS App元數據

我們將瞭解如何將多個開源解決方案結合使用,以便更輕鬆地使用iOS應用程序元數據。

Apple在WWDC18上宣佈了一個新的AppStore Connect API,以便直接與App Store進行通信。要了解有關此API的更多信息,請參閱我 之前的 博客文章。這顯然是巨大的和改變遊戲規則的公告,但蘋果公司還宣佈了其他可能在WWDC會議上未被注意到 App Store Connect的新功能,例如 在Linux平臺上支持 Transporter工具。這意味著我們現在可以使用Linux服務器上傳和驗證iOS應用程序元數據和預覽。在這篇文章中,我們將探討如何使用Linux服務器使用Transporter工具處理App Store。

使用Transporter從Linux使用iOS App元數據

iTMSTransporter

在進入Linux之前,讓我們先了解一下Transporter是什麼以及它在macOS服務器上的使用方式。轉運工具也稱為iTMSTrasporter。一個 iTMSTransporter 表示iTunes音樂商店轉運,這是蘋果公司基於Java的命令行工具來上傳應用程序的二進制文件,上傳截圖,更新程序的元數據,管理應用程序定價,管理應用內購買,等此實用程序自帶的Xcode所以有隻要你有Xcode,就不需要顯式安裝它。二進制文件可以在這裡找到:

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

您可以將上述內容添加到您的中, $PATH 以便您可以直接從終端使用ITMSTransporter。現在我們可以探索Transporter使用的各種命令行選項 $ iTMSTransporter --help。

我們可以到轉運工具提供各種選項,蘋果的官方文檔中指定的 位置 ,但我們可能需要幾個人這是有關核查和上傳的元數據。總結一下,這是三步過程:

  • 使用lookupMetadata 參數下載應用程序的.itmsp文件存根包 。
  • 使用verify 參數驗證應用程序包的內容 。
  • 最後,使用upload 參數將應用程序包上傳到iTunes Connect 。

Transporter可以驗證並上傳元數據到App Store,但是,上傳合作伙伴必須獲得Transporter資格認證流程的批准才能使用此交付方式。以前使用的交付方法是 Signiant 和 Aspera。還有第三方方法,而不是來自Apple的方法。

在Linux上安裝Transporter

使用macOS,Transporter提供了Xcode,因此無需顯式安裝。在線搜索時,我在這篇 博文中找到了macOS的Transporter工具的位置, 它是:

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

但是,當談到Linux時,沒有Xcode,所以我們需要找到在Apple官方服務器上某處託管的二進制文件的位置並將其安裝在Linux上。要安裝Transporter,我們需要以將使用Transporter工具的用戶身份登錄。Apple根據內容類型託管了Transporter工具,例如音樂: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

這可能會要求用戶接受許可協議,一旦完成,我們將在該位置安裝Transporter工具 /usr/local/itms。

在Linux上使用Transporter

有許多命令行選項可以將Transporter工具用於各種目的; 這些在Apple的官方文檔中討論 。

請記住,Linux服務器只是與App Store通信的一種方式。我們需要將應用程序放在App Sore Connect中。我們仍需要使用我們的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。

結論

由於許多持續集成服務器仍然基於Linux,我們可以使用這些相同的服務器將預先生成的iOS應用程序元數據上載到App Store Connect。我們仍然可以使用現有的雲基礎架構來執行此操作。但是,我懷疑我們中有多少人會使用此功能,因為我們已經在雲上託管了各種macOS服務器。但是,很高興知道它也可以從Linux服務器完成,如果適合他們的基礎架構/工作流程,也許有人可以從中受益。


分享到:


相關文章: