原文地址:http://tech2ipo.com/66893
TestFlight / via iMore
作者: Nick Arnott 譯者:翛凌 原文:iMore
iOS 應用程序的測試對于 iOS 開發者來說一直讓人非常頭疼。所以蘋果公司大張旗鼓地在 WWDC 2014 上宣布 TestFlight 將會作為 iOS 8 的一部分,一點都不讓人奇怪。自從蘋果公司收購了 TestFlight 的制造商 Burstly 公司后,許多人都期待蘋果能夠最終發布一個對開發者友好的解決方案。將 TestFlight 加入 iOS 8 變為了該領域一個非常重要的改進,這個聲明自然也受到了開發者們的歡迎。
大部分人只在他們的終端上通過 App Store 下載安裝應用程序。然而對于主要做應用開發的人來說,他們也經常使用另一種方式:Ad Hoc 發布。每一個 iOS 設備都有一個獨有的設備識別碼( UDID )。這個設備識別碼可以幫助開發者在他們的賬號下添加該設備,使該設備能夠接受 Ad Hoc 發布。通過這個步驟,開發者無需公開發布程序也能將程序放到設備上進行試驗。管理運行 Ad Hoc 發布也很簡單。開發者只需開發者創建并維護一個發布日志,指明什么特定的設備可以運行什么特定的應用程序,即可讓該設備得到 beta 版應用程序的運行權限。然而對于大部分的開發者來說,一個賬號被限制只能對 100 個設備進行此種設置。并且這個過程非常容易被搞砸,也很容易造成讓人迷惑的錯誤,因此對于開發者來說 Ad Hoc 發布并不是一個非常好的工具。而 TestFlight 看起來會改變這一切。
第一個非常重要的改變就是 TestFlight 不再需要開發者或者測試者提供你設備識別碼或者相應的身份信息了。目前,如果你想添加一個新設備,你需要完成以下步驟:
開發者需要讓測試者提供他們的設備識別碼(如果測試者不知道如何看到他們的設備識別碼,開發者還需要告訴測試者如何去找到他們的設備識別碼)。
測試者用一個軟件取出他們的設備識別碼。
測試者把設備識別碼發給開發者。
開發者登陸蘋果開發者入口。
開發者把測試者的設備加入他們的賬號中。
開發者將設備放入合適的應用程序賬號中。
開發者添加測試者的信息,并更新應用程序。
開發者將應用程序發布給測試者。
以上的步驟依據開發者所用的工具會有少許差異,但是這個步驟至少大致描述了整個過程。而 TestFlight 的步驟則基本如下:
測試者告訴開發者他們的蘋果賬號。
開發者登陸 iTunes Connect。
開發者給測試者發送郵件邀請。
測試者接受邀請。
測試者通過 TestFlight 軟件下載安裝程序。
如果 TestFlight 能達到它所承諾的所有效果的話,那么處理設備識別碼和賬號的繁雜步驟將會成為過去。
第二點讓開發者長期以來一直抱怨個不停的就是 100 個設備的限制。然而現在開發者可以在他們的 beta 版應用程序下添加 1000 個蘋果賬號。然而添加蘋果賬號會導致 TestFlight 給開發者發一個警報,并要求應用程序給蘋果公司發送一個審查。不過我們現在不知道具體的通過審查的標準。同樣我們也不知道在審核通過之后,如果對應用進行一些小幅度的更新會不會要求開發者再度發送審核。然而這也是開發者必須跨過的新的坎。
除了 1000 個測試者之外,開發者還可以加上 25 個國際測試者。不過國際測試者不能僅僅通過郵件邀請,他們必須有一個由開發者在 iTunes Connect 里創建的賬號。這個新加入的規則的好處就是國際測試者不再需要等待應用程序發布就能參與到測試過程中。
當應用程序的新版本被上傳并通過審核后,它將有 30 天的有效期。如果 30 天之后開發者沒有發布新的版本,測試者將無法運行設備上的測試版應用程序。直到開發者發布新版本之后,測試者才可以再度運行程序。除了要上傳應用程序之外,開發者還必須提交程序的元數據。應用程序的描述以及測試者需要測試的信息也應該被上傳。
測試者將可以通過 TestFlight 管理并安裝邀請他們進行測試的測試版程序。TestFlight 將隨 iOS 8 一起發布,因此開發者沒法在舊的 iOS 版本或者安卓上使用 TestFlight。TestFlight 將可以讓用戶瀏覽程序描述以及測試備注。測試備注將會讓開發者知道哪里需要提高、哪里需要改進。同時測試者也可以通過 TestFlight 軟件向開發者發郵件提供他們的反饋。
另一個對所有開發者來說值得一提的事情是:不論是國內測試者還是國際測試者,他們都只能下載安裝最新版的測試軟件。依據蘋果公司的新 iTunes Connect 發布會的視頻,只有最新版本才可以提供下載,而之前的版本全部顯示為「 inactive 」。提交了新版本之后,之前在旁邊備注一個對勾的可供下載版也會顯示為「 inactive 」。當日也許開發者有能力通過一些方式讓測試者接觸到之前的老版本。然而只有等到秋季蘋果公布新的 iTunes Connect 的官方文件我們才可以確信這一點。然而僅能下載最新版本這一個特性也許會成為許多開發者無法接受的條件。
最后一個值得 TestFlight 一提的特性自然是崩潰報告。當你設備上的軟件崩潰時,會產生一條錯誤日志。iTunes Connect 一直以來都提供瀏覽崩潰日志的能力,但是很少有人成功。另一個總被遺忘的部分就是缺少符號化。而這意味著開發者看到的崩潰日志將不是哪一部分的代碼導致應用崩潰,而是仿佛永無止境的用十六進制表示的導致應用崩潰的代碼所在地址。也就是說,如果應用程序崩潰了,開發者們并不會看到類似于「[OMGASIHTTPRequest reportFinished]」的具體的錯誤信息,而是類似于「0x9b000 + 23698」的內容。諸如 HockeyApp 之類的第三方服務曾經提供過一段時間的錯誤日志符號化服務,不過現在 iTunes Connect 終于將擁有這個功能。然而不幸的是這個特性將會在「明年下半年」發布,因此希望看到有用的崩潰日志的開發者們現在還得利用一些其他的工具。
iOS 8 里的 TestFlight 意味著對于開發者和測試者來說,測試 beta 版程序將會有更多的選擇。開發者將會有能力將 beta 版應用發布給更多的用戶,測試者將會得到一個被官方認可的安裝通過蘋果應用商城以外的方法獲得第三方程序的途徑。我們希望這個改進會讓未來登陸蘋果應用商城的程序的錯誤更少,讓最終下載該軟件的用戶們得到一個經過更多人測試和加工的好應用。
新聞熱點
疑難解答