iOS TestFlight 發布包測試


一.背景

現階段大部分公司在測試和回歸期間都是習慣使用測試包,等測試回歸沒問題了,才打正式發布包發布,由於測試包和發布包在打包時間點和打包過程上存在差異,所以特別容易出現發布包和回歸測試的測試包不一致的情況。使用自動化打包,如果打包腳本出現問題,更容易出現這種情況。

二.解決方案

所幸的是,蘋果在iOS8之后推出了TestFlight,使我們在提交前可以安裝發布包進行測試,所以我們可以把測試周期拆分

測試周期拆分:回歸階段開始前、回歸階段開始后
  回歸階段開始前:主測普通測試包
  回歸階段開始后:通過TestFlight 內外部測試主測Release包

三.TestFlight使用

  1. 首先它的出現是在iOS8的時候,在Xcode 6和iOS 8上公開發行,它被整合到了iTunes Connect,你可以通過電子郵件的形式來邀請你的Beta測試成員。
  2. TestFlight的測試方式分為兩種,一種是內部測試,一種是外部測試。
    - 內部測試:最多可以邀請25個內部成員,成員需要在iTunes Connect里添加,構建版本無需審核,上傳build成功后即可發送測試邀請郵件。
    - 外部測試:外部測試人員的上限是2000人,構建版本需要 Beta 版 App 審核部門的批准,一般審核時間為一天左右。審核成功后才可發送外部測試邀請郵件。
    如下圖:

TestFlight-內部測試

 

  1. 使用步驟:
    (1)上傳構建版本到iTunes Connect
    (2)發送 TestFlight 內部測試邀請,外部測試提交審核
    (3)安裝TestFlight這個app,先到AppStore上搜索 TestFlight下載,使用你的Apple ID登錄,然后在手機打開你的郵箱,找到測試邀請郵件,然后點擊 Start Testing 按鈕,這個時候會直接跳轉到你的TestFlight上,最后點擊INSTALL進行下載。如圖:

 

 

TestFlight提供的管理辦法是將測試者分為內部成員和外部成員。理論上說,這兩種測試者都可以在測試階段使用你的App,不過所謂的內部主要是指iTunes Connect上在你的開發團隊里參與技術開發或者管理的成員。你最多可以邀請25個內部成員,而與之相對的外部成員,自然就是指那些不屬於你的團隊或者公司的測試者,外部測試人員的上限是2000人。這里有一點需要注意的是,在你邀請外部成員參與測試之前,需要先通過蘋果的審核。而這一限制在內部成員上就沒有,也就是說一旦你把你的App上傳到iTunes Connect上之后內部成員就可以開始進行測試了,無需審核。

准備工作

  • 待測試的 ipa 包(用Application Loader上傳)或者是 xcarchive (用Xcode Upload to App Store)文件(需要上傳到 iTunes Connect );
  • 到 App Store 下載安裝軟件 TestFlight;

步驟

  1. 將打包好的 ipa 或 xcarchive 文件上傳到 iTunes Connect;
  2. 登錄到 iTunes Connect 進入我的APP,選擇你的APP;
  3. 到 TestFlight 模塊下,如果 App Store 有提交過的版本,內部測試員就可以了,我們只需要添加內部測試員用戶即可,如圖:

     
    TestFlight模塊.jpeg
  4. 添加內部測試員(即添加iTunes Connect 用戶),如圖:



     
    添加內部測試員.jpeg

     

     

     

    添加成功.jpeg
  5. 接下來坐等收郵件,就是剛剛添加的那個用戶郵箱,會收到郵件,如圖:

     

     

     
    郵件.jpeg
  6. 點擊 View in TestFlight 獲取邀請碼,如圖:

     

     


     
    邀請碼.jpeg
  7. 接下來打開之前下載的 TestFlight 軟件,輸入邀請碼即可,接下來就可以安裝之前構建的版本和 App Store 的歷史版本。(每個版本都有90天的有效期,時間是從你的構建版本上傳到 iTunes Connect 算起)

注意:每一個邀請碼對應一個 Apple ID ,在 TestFlight 軟件中無需收輸入Apple ID(其實也沒法輸入),它會自動獲取當前設備登錄的 Apple ID ,如果此邀請碼已經被激活(就是已綁定 Apple ID ),則無法在不同的 Apple ID 下使用了(如果多台設備都登錄的是已綁定的 Apple ID 則不會出現此問題)。不過還有一種方法就是在不同的設備登錄邀請碼綁定的 Apple ID ,這樣直接打開 TestFlight 都不需要輸入邀請碼即可下載安裝測試軟件。

溫馨提示
如果先添加了 iTunes Connect 用戶,則左側欄的添加外部測試員欄目消失了,同時出現了一個新群組欄,點擊這個其實就可以添加外部測試員,只不過給外部測試員進行了分組,起了一個組名而已,本人當時找了半天沒找到,希望后面的同學注意下,免得在這里浪費時間。

 

 

 

坑爹的新群組.jpeg
添加外部測試員基本差不多,接下來我直接上圖
 

 

 

添加外部測試員1.jpeg
 

 

 

添加外部測試員2.jpeg
 

 

 

添加外部測試員3.jpeg

填坑

在操作步驟3的時候可能會出現提示:“缺少出口合規證明”,如下圖所示:

 

 

 

 

 

缺少出口合規證明.jpeg

解決方法:去Info.plist文件中添加 ITSAppUsesNonExemptEncryption 並設置為 NO ,修改 build 號,重新打包上傳。

 

 

 

添加key.jpeg

添加了此項,在iTunes Connect 上提交審核的最后一步會有不同,少了一項:是否更改加密功能(這不會影響審核的,放心的使用吧),如圖:

 

 

 

提交審核.jpeg

小結

此方法的使用視具體情況而定,不見得就是最好的或是最壞的。今天正好有幾個特殊用戶需要用個特殊版本,所以采用了此方法。目前我們的測試包主要是通過腳本自動編譯打包后上傳到雲服務器,生成一個下載鏈接,測試的伙伴直接通過此鏈接下載安裝即可,(想學習自動化編譯打包的看這里《iOS自動化編譯打包》)上圖更容易理解,請看圖:

 

 

 
自動化編譯的包列表.jpeg

對於以上我今天出現的情況,還有很多種方法可以為特殊用戶提供特殊版本的APP,比如:
1.用企業賬號,打一個特殊包,上傳到蒲公英供用戶下載使用(需要一個企業賬號)
2.獲取特殊用戶的設備UDID,添加為測試設備,重新用新的配置文件編譯打包,把打好的包發給用戶安裝即可(需要用戶設備UDID)
3.用今天所講的 TestFlight 即可,至於使用內部人員測試還是外部人員測試根據具體情況而定(需要用戶下載安裝 TestFlight 軟件)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM