簡體   English   中英

TestFlight 是如何做到的?

[英]How does TestFlight do it?

TestFlight 提供 iOS 應用程序的無線測試版分發(在非越獄設備上)。 如何做到這一點? 這是 iOS 功能還是漏洞利用?

這篇文章展示了蘋果的 OTA 實現是如何工作的,也可以在企業外部使用: ios 無線應用分發

Apple 記錄了完整的過程。 Apple 還發布了用於注冊設備和使用配置文件獲取 UDID 的文檔和示例代碼,以便您的網站可以檢測到哪個設備正在調用。

一些不同強度的附加解決方案:

  • iOS Beta Builder ,一個使用構建創建網站的 Mac 應用程序。 只需將生成的文件上傳到您的網絡服務器。

  • Diawi :簡單的網絡服務。 上傳您的 IPA 文件,可選擇設置密碼並向您的測試人員發送鏈接。

  • AppSendr :用於測試版托管的 Web 服務,類似於 Testflight,但不包括設備注冊過程。 但提供部署實用程序來自動上傳新版本。

  • HockeyKit :開源項目,用於在您自己的 PHP5 服務器上托管 beta 版本,並具有附加功能,例如用於應用程序內更新的客戶端、自動設備特定網站和處理多個應用程序。 完全基於文件和目錄。

  • HockeyApp :用於測試版托管、應用程序內更新、統計信息的 Web 服務,包括設備注冊、邀請和招募。 還為測試版和應用商店應用程序(iOS + Mac)提供服務器端崩潰報告收集、符號化(針對所有線程)和崩潰分組。 SDK 是開源的,使用HockeyKitQuincyKitPLCrashReporter (這是如何在 iOS 上進行崩潰報告收集的唯一安全解決方案,請參閱本文

注:我的主要開發HockeyKitQuincyKit ,和開發商之一HockeyApp

在 TestFlight 推出服務之前,這是可能的。 該技術源於企業分配機制。 由於 4.0 設備已支持從 Web 安裝。

請記住 - 您仍然需要為一組選定的 UDID 簽署 beta 發行版,您不能隨意將其安裝在任何設備上。 他們所做的只是將 IPA 的電子郵件排除在外。

見:

更新:我想說 Test Flight 是我在開發時使用過的最有用的工具之一。 只是將 IPA 電子郵件從圖片中刪除是輕描淡寫的 - 我只是想調用技術機制。 他們在管理整個測試過程中做得非常出色。 注冊新設備。 通知用戶等

如前所述,Testflight 基本上使用普通的 Ad Hoc。

為此,您需要每個設備的UDID以將其添加到 Ad Hoc 配置文件中,使用新配置文件重新編譯應用程序並重新分發新版本。

您可以在 OTA 身份驗證請求的幫助下獲取UDID 這實際上是在將實際配置文件推出到設備之前在 MDM 中完成的一個步驟。 它基本上要求設備提供有關自身的更多信息,並將其發送回自己指定的服務器。

第一步記錄在這里: Apple OTA Configuration

我猜 Testflight 會在注冊過程后立即使用它來收集UDID 、電話名稱、...

是的,這是 iOS 的一項核心功能,適用於希望分發 OTA 的企業客戶。

大概您會將您的 UDID 與應用程序一起傳遞給 TestFlight,然后他們使用他們的企業許可證將應用程序發送給您。 我確定我遺漏了很多技術細節,但如果您想了解更多信息,Apple 有一個來自 WWDC 2010 的視頻。

登錄 developer.apple.com,轉到WWDC 2010 Videos並使用鏈接訪問視頻 您想要的視頻是“會話 108 - 管理移動設備”。 它對 OTA 的可能性以及執行 OTA 配置必須采取的步驟提供了非常豐富的信息。

股票 iOS 設備“容易” 運行 用戶加載來自任何擁有該設備 UDID 的開發者的 Ad Hoc 應用程序,並在 Apple 開發者門戶上的 100 台允許的設備中注冊該 UDID。

OTA 分發只是從注冊開發人員那里安裝 Ad Hoc beta 測試分發的另一種方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM