WWDC 2019 Section 304: App Distribution – From Ad-hoc to Enterprise

1. Overview

一個應用的誕生大致經過以下歷程:

(Idea)想法誕生 --> (Prototype)原型設計 --> (App)應用實體 --> (Users)用戶使用

你為了解決某個問題而產生想法,設計了應用的基本樣式和頁面交互等,然后把原型轉換成真正的App,最后給用戶使用,本 section 聚焦在最后一個環(huán)節(jié),結合應用發(fā)布的四個途徑,描述如何用最合適的方法將開發(fā)好的應用交付到用戶使用。

2. Distribution Methods

應用發(fā)布總共有四種途徑:Ad Hoc、App Store、In-House、Custom Apps

distribution_methods.png

關于途徑的選擇,你需要考慮很多問題。應用的受眾是誰?誰會購買你的應用?應用的歸屬是誰?應用發(fā)布面向的設備是誰持有的?源碼的所有權屬于誰?編譯應用的工作誰負責?需要開發(fā)者賬號的是誰?歸根結底,就是需要明確應用的使用者是誰。

user.png

蘋果將應用的使用者歸類為個人用戶和群體用戶,面向個人的用戶可以選擇 Ad HocApp Store,其中 Ad Hoc 是受限制的私有途徑,主要限制了使用者數(shù)量和設備,而 App Store 則是四種途徑中唯一一個公開的應用發(fā)布途徑,面向所有個人用戶,因此需要經過蘋果嚴格的審核才得以發(fā)布。面向群體用戶,比方說是一個企業(yè)里的員工,可以選擇 In-HouseCustom Apps 的方式發(fā)布應用,這兩種都是私有的途徑。在不同階段的應用發(fā)布可能需要選擇不同途徑,這就需要你明白應用的預期效果和最優(yōu)方案,選擇最合適你的應用使用場景的途徑。在這里蘋果通過一個真實的應用例子講述選擇不同途徑的情況。

2.1 Ad Hoc Distribution

在完成 App 開發(fā),準備進行發(fā)布之前,我們都希望 App 能在周圍的同事之間先進行測試,提提意見,修改完善之后再發(fā)布到 App Store 上。另外,我們應用可能使用了類似 CloudKit、APNS 等不能通過調試測試的功能,但是又希望能測試到這些功能。Apple 考慮到這些問題,通過 Ad Hoc 來實現(xiàn)發(fā)布前的用戶測試。使用 Ad Hoc 發(fā)布非常簡單,配置好 Ad Hoc 證書后打包導出ipa,就可以給別人安裝了。但是使用 Ad Hoc 是有限制的,使用 App 的設備需要在開發(fā)者賬號上注冊,一個賬號每年最多只能注冊100臺設備。關于 Ad Hoc 的要點大致如下:

  • 用于在已注冊的設備上進行測試;

  • 短期發(fā)布的解決方案;

  • 發(fā)布的應用不可長期使用,過期后將無法使用;

  • 設備限制每年都會重置一次;

隨著測試的規(guī)模擴大,Ad Hoc 發(fā)布的方法將不能滿足需求,一方面是手動添加設備UDID的過程比較耗費時間,另一方面測試設備數(shù)量的限制也會限制測試規(guī)模的擴大。這時候可以使用 TestFlight 來擴大 Beta 測試的規(guī)模。

testflight.png

TestFlight 有分內部測試(Internal Testing)和外部測試(External Testing),內部測試 app 不需要經過審核,只要上傳即可,但是只能邀請被添加到團隊的成員參加,而且最多只能添加25人。而公測是需要審核的,不過只需要知道對方的郵箱即可發(fā)送邀請,而且最多可以邀請10000人。TestFlight 發(fā)布的一個版本有效期最多只有90天。

2.2 Submitting to App Store

在完成 Beta 測試后,你對 App 提煉出符合更多用戶使用的特性,接下來可以準備宣傳的資料、演示視頻等,就可以準備上架 App Store,向外發(fā)布你的應用了。 App Store 上架的應用面向你選擇的商店的所有用戶,應用的審核和管理由 Apple 完成,因此你需要了解并遵循 App Store 的審核準則,確保你的應用適合大眾使用,并不斷更新應用以適配新的設備和系統(tǒng)。

2.3 In-House Distribution

in_house.png

針對企業(yè)內部應用,Apple 提供了 In-House Distribution 途徑,讓你可以完全控制應用發(fā)布的整個流程。企業(yè)自身擁有并維護應用的源碼,不需要上傳到 App Store,借助移動設備管理系統(tǒng)(MDM),就可以完全在企業(yè)內部完成應用開發(fā)到發(fā)布使用的整個過程。

In-House 發(fā)布方式要求應用的使用者都是企業(yè)內部人員,使用 In-House 發(fā)布的應用要求設備可以聯(lián)網,所以無法連接外網的設備可能無法使用。因為應用整個流程都是企業(yè)掌控,不能依托 TestFlight等工具,所以對于應用的測試和管理需要企業(yè)自行處理好。In-House 所使用的發(fā)布證書需要妥善保管,證書有效期只有三年,Provision Profile 有效期只有一年,所以要管理好證書生命周期,及時發(fā)布證書更新的應用版本,以免出現(xiàn)過期等情況導致應用失效。如果需要出于某些原因需要撤銷證書,那么使用該證書發(fā)布的應用會馬上失效,企業(yè)需要重新簽名和發(fā)布應用,否則會可能出現(xiàn)非常糟糕的情況。

2.4 Custom Apps

Custom Apps 也是私有的發(fā)布途徑,主要使用于企業(yè)對企業(yè)提供定制化的應用服務,負責開發(fā)的一方可以在不提供源碼的情況下直接提供可購買的 App 給請求開發(fā)的一方使用。另外還可以是企業(yè)為自己提供,應用可由企業(yè)自己開發(fā)并在自己的賬號上發(fā)布。

Custom Apps 屬于蘋果開發(fā)者計劃(Apple Developer Program)的一部分,依托 Apple Business Manager 進行管理。此前 Custom Apps 只可用于企業(yè)為企業(yè)提供定制化應用服務,現(xiàn)在也可以像 In-House 那樣企業(yè)為自己提供服務,你可以給你的合作伙伴、客戶、加盟商、內部員工、分公司等提供應用,通過 MDM 或兌現(xiàn)碼分發(fā)許可證。

Custom Apps 可在一個平臺上管理內部和外部的所有應用,發(fā)布的應用沒有使用期限,不用擔心過期的問題。In-House 發(fā)布的應用只能提供給企業(yè)內部員工使用,而 Custom Apps 則可以提供給分公司等更多人一起使用。 Custom Apps 本身設定是企業(yè)對企業(yè)提供服務,因此對于尋求第三方軟件服務支持的企業(yè)來說,他們無需訪問源碼就可以獲得已發(fā)布好的應用,也不需要對應用的二進制包進行重簽名等操作。另外,你可以使用 App Store 提供的不斷更新的基礎設施服務,比如說支付系統(tǒng)、App Thining、TestFlightApp Store Connect 工具等特性。

Custom Apps 要求購買應用的用戶需要有一個 Apple Businsess Manager 賬號,應用需要支持和適配好其選擇發(fā)布的國家,最好支持所有的國家。如果使用兌換碼購買應用,需要確保兌換碼只會給到特定的用戶,因為兌換碼只能在對應企業(yè)內可用。Custom Apps 需要經過審核,審核要求可以訪問應用所有的功能,審核通過發(fā)布后,不能再提交到 App Store 作為公開應用。

custom_apps.png

Apple 在此環(huán)節(jié)還描述了如何使用 Custom Apps 發(fā)布應用,以及出現(xiàn)問題后解決的幾個思路,詳情可見視頻或官方文檔。

3. Summary

綜上所述,關于選擇途徑,主要是根據(jù)應用的使用者是對外還是內部進行選擇,Ad Hoc 可供內部測試時發(fā)布使用,App Store 用于對公眾發(fā)布,In-HouseCustom Apps 用于私有應用發(fā)布使用。Ad Hoc 途徑一般只適用于 Beta 測試,針對發(fā)布正式應用的途徑選擇,Apple 總結成一下表格:

使用場景 App Store In-House Custom Apps
面向公眾 ??
不愿向企業(yè)提供知識產權 ?? ??
企業(yè)沒有 MDM ??
被雇傭作為應用開發(fā)顧問 ?? ??
企業(yè)沒有使用 Apple Business Manager ??
App 只面向內部員工 ?? ??
為自己的企業(yè)發(fā)布應用 ?? ??

Apps are like cannonballs, it is better to know where they are going before they deploy.

Apple 希望你的應用可以用最明智的方式發(fā)布應用,這就需要你考慮清楚你的客戶和用戶是誰、合理分配對應版本的應用、知道并了解蘋果應用審核的準則,從而選出最合適的發(fā)布途徑。

Section Video

WWDC 2019 Section 304: App Distribution – From Ad-hoc to Enterprise

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容