iOS應用分發與內測(一)
今天開始我將用幾篇部落格來講解如何?iOS應用的分發與內測,將的會較為詳細,不僅僅是通過點幾下滑鼠就完成任務,也會對其中的一些技術或者概念進行講解。當我們把一款iOS應用開發完畢後,不是立即就上線到App Store,這樣的風險實在是太大,被蘋果拒的可能性也很大。在上線前的一個重要步驟就是進行應用的分發與內測,大概的意思就是讓組內的所有開發人員或者公司中的其他人員(PM、測試、市場人員等等)安裝該款應用,來進行內部的一個測試。這樣會暴露大量的問題,然後還可以進行修改調試。只有確保內測沒有問題後,才會正式上線。
這樣的內測平台有很多,大公司可能有自己的的內測平台。但是對於我們這樣的獨立開發人員來說,只能使用公用的平台,如蒲公英、Pre.im等等很多。我接下去主要以蒲公英平台來進行分發。
作為個人的測試,首先你要購買蘋果的開發人員帳號,也就是99刀(668人民幣),買一個個人賬戶。這樣在你的開發帳號中可以添加100台裝置作為測試機。當然最好你有1台及以上的iOS真機裝置,來進行安裝App測試。
該篇部落格先對一些基本概念做一個講解:
(1)ipa檔案
ipa檔案就是iOS應用的安裝包檔案,副檔名為.ipa. 能否正確的打包IPA檔案,是決定了IPA檔案上傳到蒲公英後能否被正確安裝的關鍵。可以吧ipa檔案可以理解為Android中的apk檔案,道理是一樣的。
(2)認證
對於一個未上線App Store的應用,一般來說,開發人員如果需要將應用安裝到某些使用者的裝置上,就需要將應用匯出為這些裝置可以直接安裝的安裝包(.ipa檔案),安裝包能否正確匯出,是決定了應用能否被正確安裝到裝置上的關鍵因素。其中,最關鍵的一個因素是,匯出安裝包時,應用所使用的認證(即:簽名方式)。
開發人員可以選擇如下兩種方式的簽名方式,來匯出應用安裝包:
1. Ad-hoc方式
2. In-house方式
其中,具體使用哪種方式,取決於開發人員擁有的蘋果開發人員帳號的類型。例如,如果開發人員擁有的是蘋果開發人員個人開發人員帳號(我就是),則可以使用Ad-hoc方式;如果擁有的是蘋果企業開發人員帳號,則可以使用In-house方式。關於蘋果開發人員帳號支援的認證類型,如:
。
三種認證簽名的區別:
到目前為止,蘋果為iOS應用共提供了三種類型的認證簽名方式,每一種都有獨特的用途。這三種分別是:
1. Ad-hoc
2. In-house
3. App-Store
蒲公英會根據打包認證的不同,分別顯示為內測版、企業版、App-Store版。關於這三種類型的認證,區別如下表所示:
。
(3)UDID
UDID是由子母和數字組成的40個字串的序號,用來區別每一個唯一的iOS裝置,包括iPhone,iPad,以及iPod Touch。這些編碼看起來是隨機的,實際上是跟硬體裝置特點相聯絡的。一個典型的UDID是這樣的:
37f2f993bae681636e30e74b04d6b8955ba36f29
那麼應該怎麼獲得iOS裝置的UDID呢?
UDID的獲得可以由iTunes,或者Xcode,不過前兩個都比較麻煩,因為都需要手機或電腦相連。蒲公英提供了一個簡單的擷取UDID的工具,直接在瀏覽器中打入:http://www.pgyer.com/udid .就可以方便的擷取到當前裝置的UDID。
(4)UDID和Ad-hoc
如果iOS裝置要安裝以Ad-hoc方式打包iOS應用時,必須將該裝置的UDID加入打包應用時的認證檔案(.mobileprovision檔案),才可以在該裝置上正常安裝。我後面會實現如何擷取.mobileprovision檔案。
對於分發和內測大概要瞭解的概念就是如上這些,我在下面這篇部落格實際進行操作。