應(yīng)用測(cè)試分發(fā) - 蒲公英、TestFlight

前言

最近又牽扯到了應(yīng)用測(cè)試包的打包問題,為了避免頻繁給測(cè)試真機(jī)安裝應(yīng)用,個(gè)人注冊(cè)了蒲公英。繼而簡(jiǎn)單整理了下 蒲公英和TestFlight 兩種測(cè)試分發(fā)方式。

因?yàn)槭呛?jiǎn)單整理,會(huì)比較零碎,需要一定的基礎(chǔ)知識(shí),比如應(yīng)用打包、證書簽名等。如果能幫到讀者多了解一些知識(shí),那是很好的。也希望能得到寶貴的反饋意見。

蒲公英

注冊(cè)

蒲公英需要注冊(cè)使用,分為 個(gè)人 和 公司。都需要認(rèn)證信息。

  • 個(gè)人:身份證照片、身份證號(hào)、郵箱、手機(jī)號(hào)以及一些基本信息;
  • 公司:營(yíng)業(yè)執(zhí)照照片、營(yíng)業(yè)執(zhí)照號(hào)以及一些基本信息。

導(dǎo)出時(shí)證書選擇和簽名方式

證書選擇

在發(fā)布到蒲公英上的安裝包,可以選擇如下兩種方式的證書簽名:

  • Ad-hoc;
  • In-house。

具體使用哪種方式,取決于蘋果開發(fā)者賬號(hào)類型。

使用 Ad-hoc 方式的的賬號(hào)類型可以是:個(gè)人賬號(hào)($99)、公司賬號(hào)($99)、企業(yè)賬號(hào)($299)、教育賬號(hào)($0);

使用 In-house 方式的賬號(hào)類型是:企業(yè)賬號(hào)。

簽名方式

目前為止,蘋果為 iOS 應(yīng)用提供了三種類型的證書簽名方式:

  • Ad-hoc;
  • In-house;
  • App-Store;

蒲公英會(huì)根據(jù)打包證書的不同,分別顯示 內(nèi)測(cè)版,企業(yè)版,App-Store版。

對(duì)應(yīng)的三種類型,蒲公英支持的安裝范圍也不同:

  • Ad-hoc 需要UDID被添加到證書中的設(shè)備才可安裝 ----個(gè)人、公司、企業(yè)、教育賬號(hào)
  • In-house 任何 iOS 設(shè)備均可安裝 ----企業(yè)賬號(hào)
  • App-Store 通過 App Store 安裝 ----個(gè)人、公司、教育賬號(hào)

不是以企業(yè)賬號(hào)使用 Ad-hoc 方式,因?yàn)樽C書中設(shè)備數(shù)量的限制,只能安裝 100 臺(tái)設(shè)備。

打包方式

打包到蒲公英的包,在 export 出 ipa 包時(shí),不要選擇 Save for App Store Deployment 選項(xiàng)。否則可能會(huì)出現(xiàn)無(wú)法安裝的問題。

  • 如果是個(gè)人或公司蘋果賬號(hào),選擇 Save for Ad Hoc Deployment;
  • 如果是企業(yè)蘋果賬號(hào),選擇 Save for Enterprice Deployment。

上傳應(yīng)用

蒲公英有 3 種上傳應(yīng)用方式:

  • 通過蒲公英網(wǎng)站(常用);
  • 通過蒲公英桌面客戶端;
  • 通過蒲公英開放 API。

通過網(wǎng)站上傳應(yīng)用 ipa 包,然后填寫一些基本信息,就可以在蒲公英上發(fā)布應(yīng)用,然后通過 二維碼 下載。

發(fā)布應(yīng)用

蒲公英有 2 種發(fā)布方式:

  • 立即發(fā)布;
  • 定時(shí)發(fā)布。

安裝失敗原因排查

使用蒲公英安裝 iOS 內(nèi)測(cè)應(yīng)用時(shí),會(huì)遇到安裝失敗的情況,常見的原因如下:

  • 在 iOS 9 中啟動(dòng)應(yīng)用時(shí),出現(xiàn)“未守信任的企業(yè)級(jí)開發(fā)者”

    設(shè)置 - 通用 - 描述文件(設(shè)備管理),信任應(yīng)用的企業(yè)證書 。 link

  • 在 iOS 9 中點(diǎn)擊“安裝”按鈕后,沒有彈出“是否安裝”的提示

    先刪除之前已經(jīng)安裝的應(yīng)用,然后再?gòu)钠压惭b。

  • iOS 9 中,點(diǎn)擊“安裝”,沒有任何反應(yīng),桌面也沒有在安裝的應(yīng)用圖標(biāo),但是狀態(tài)欄的網(wǎng)絡(luò)圖標(biāo)在轉(zhuǎn)

    多等一會(huì)。網(wǎng)絡(luò)圖標(biāo)在轉(zhuǎn)說明后臺(tái)已經(jīng)在下載安裝了。

  • 在 iOS 8 或 iOS 9 中安裝一個(gè)之前安裝過的應(yīng)用時(shí),安裝失敗

    可以在蒲公英應(yīng)用設(shè)置中,將“iOS 8安裝修復(fù)”功能打開。

  • 安裝 iOS 應(yīng)用時(shí),出現(xiàn)提示“無(wú)法連接到 ssl.pgyer.com”

    一般是由于網(wǎng)絡(luò),或者緩存錯(cuò)誤造成的。

    1、重啟手機(jī),然后重試;
    2、換 wifi,然后重試。

  • 其他一些原因

    1. 在導(dǎo)出 ipa 文件時(shí),選擇了 App Store 方式;

    2. 在導(dǎo)出 ipa 文件時(shí),選擇了 Ad-hoc 方式,但是沒有添加設(shè)備 UDID;

    3. 在導(dǎo)出 ipa 文件時(shí),選擇了 In-house 方式,但證書已經(jīng)過期;

    4. 在生成 App 安裝包時(shí),沒有在 Xcode 中設(shè)置正確的 Architecture;

      具體操作方法是:在 Xcode - Build Settings - Architecture 中,增加 armv7、armv7s、arm64,以便所有設(shè)備都可以安裝。然后,將 "Build active architecture only" 設(shè)置為 NO。

      查看各個(gè) iOS 設(shè)備支持的 Architecture 類型。link

    5. App 支持的 iOS 系統(tǒng)版本,和當(dāng)前設(shè)備系統(tǒng)版本不符;

    6. 設(shè)備上已經(jīng)安裝了 App,且已經(jīng)安裝的 App 和將要安裝的 App 是用不同證書打包的;

    7. 網(wǎng)絡(luò)中斷或異常

    關(guān)于更多的異常可以參見蒲公英 文檔中心

實(shí)現(xiàn)持續(xù)集成

可以通過 Jenkins、Travis CI 實(shí)現(xiàn)持續(xù)集成。也可以通過 fastlane 快速打包,并在蒲公英發(fā)布成功后發(fā)出通知,比如 釘釘、郵件以通知其他人。

具體見蒲公英文檔中心

TestFlight

TestFlight 概述

TestFlight 現(xiàn)在是蘋果的官方測(cè)試軟件,以郵件形式告知測(cè)試人員版本變化,同時(shí)可以收集測(cè)試信息,可以在應(yīng)用發(fā)布到 App Store 之前收到寶貴的反饋。 只要提供郵箱,任何人都可以成為測(cè)試人員,不過最多可以添加 10,000 名(外部)測(cè)試人員。

使用

使用 TestFlight 前,需要上傳應(yīng)用的測(cè)試版本到 iTunes Connect,然后在 iTunes Connect 中添加測(cè)試人員姓名和電子郵箱。測(cè)試人員將為 iOS, watchOS,tvOS 安裝 testflight 程序。

基本流程是:

1、 iTunes Connect 構(gòu)建版本;

2、上傳測(cè)試應(yīng)用到 iTunes Connect;

3、iTunes Connect 審核;

4、添加測(cè)試人員;

5、測(cè)試人員安裝 TestFlight App;

6、審核成功后,測(cè)試人員收到郵件,開始安裝測(cè)試。

需要說明的是 第 2 步中的審核,并不是 App
Store 的審核。第一次構(gòu)建版本需要審核,之后的版本可能不需要審核,或?qū)徍怂俣葧?huì)很快。

測(cè)試期間,所有應(yīng)用內(nèi)購(gòu)買都是免費(fèi)的。

測(cè)試人員

TestFlight 測(cè)試人員有兩種角色:

  • 內(nèi)部測(cè)試人員

    可以邀請(qǐng)多達(dá) 25 名內(nèi)部測(cè)試人員。這些人員可以在 iTunes Connect 被分配管理員、開發(fā)人員、營(yíng)銷人員等角色。每個(gè)人員可以測(cè)試多達(dá) 30 個(gè)設(shè)備。內(nèi)部人員可以訪問所有用于測(cè)試的版本。

  • 外部測(cè)試人員

    可以邀請(qǐng)多達(dá) 10,000 名外部測(cè)試人員??梢詫⑼獠繙y(cè)試人員組織到自定義組中,并與每個(gè)組共享不同的構(gòu)建。在外部測(cè)試之前,應(yīng)用程序必須通過Beta應(yīng)用程序?qū)彶?/strong>,以確保其符合完整的 App Store審查指南。只有beta版本的第一個(gè)版本需要全面審查。

支持的應(yīng)用

一次最多可測(cè)試 100 個(gè)應(yīng)用程序,內(nèi)部或外部應(yīng)用程序,并且構(gòu)建版在上傳后的 90 天內(nèi)保持活動(dòng)狀態(tài)。TestFlight 同時(shí)支持 iOS 應(yīng)用程序,watchOS 應(yīng)用程序,tvOS 應(yīng)用程序和 iMessage 應(yīng)用程序的多個(gè)版本。

具體見 Apple TestFlight - Apple Developer

總結(jié)

簡(jiǎn)單總結(jié)下,在不考慮 企業(yè)蘋果賬號(hào)無(wú)限設(shè)備安裝 情況下,可以從以下幾點(diǎn)衡量蒲公英和 TestFlight。具體使用哪種方式還是看公司或個(gè)人需要。

  • 支持設(shè)備數(shù)量

    蒲公英有證書設(shè)備數(shù)量限制,最多 100 臺(tái)設(shè)備。而且要獲取 UDID,不方便外部人員使用,可以公司內(nèi)部小范圍使用。

    TestFlight 可添加 10,000 名外部測(cè)試人員,基數(shù)比較大。而且只需要郵箱即可,會(huì)自動(dòng)通過郵件通知,不需要集成。內(nèi)部測(cè)試人員可以集中在公司內(nèi)部,外部測(cè)試人員沒有限制。

  • 使用復(fù)雜度

    蒲公英上傳比較方便,不需要審核。測(cè)試人員也不需要安裝 App,只需要掃碼就可以。可以短時(shí)間內(nèi)快速更新構(gòu)建版本。

    TestFlight 需要上傳到 iTunes Connect,并且對(duì)外測(cè)試時(shí),第一次構(gòu)建需要全面審核。而且測(cè)試人員需要安裝 TestFlight App。適合在 App Store 上架前測(cè)試收集 App 運(yùn)行情況。不適合短時(shí)間內(nèi)快速的更新版本構(gòu)建。

  • 版本兼容性

    兩者都可以測(cè)試多個(gè)構(gòu)建版本。

  • 時(shí)效性

    蒲公英基礎(chǔ)用戶的應(yīng)用有 90 天的有效期,并且基礎(chǔ)用戶不能續(xù)簽。高級(jí)用戶 365 天,專業(yè)用戶不限。

    TestFlight 也是有 90 天測(cè)試時(shí)長(zhǎng),之后就不能再打開測(cè)試版本??梢詮?App Store 中下載,或者構(gòu)建新的測(cè)試版本。

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

友情鏈接更多精彩內(nèi)容