今天開始我將用幾篇博客來講解如何實現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文件。
對於分發和內測大概要了解的概念就是如上這些,我在下面這篇博客實際進行操作。