你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> 推薦IOS開發3個工具:Homebrew、TestFight、Crashlytics

推薦IOS開發3個工具:Homebrew、TestFight、Crashlytics

編輯:關於IOS
  1. Homebrew

什麼是Homebrew?

Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn’t include with OS X.

我們能夠通過終端方便的使用它安裝管理蘋果沒有自帶的UNIX相關工具軟件。

如何安裝?

參考GitHub地址: https://github.com/mxcl/homebrew/wiki/installation

建議安裝之前刪除已經安裝的Fink和Macports。

Homebrew使用ruby腳本,Mac OS X已經自帶ruby。

  1. ruby-e "$(curl -fsSL https://raw.github.com/gist/323731)"

如何使用?

更新 formulae,保證每次安裝的文件源是最新的。

  1. brew update

查看尋找自己需要的軟件,例如想尋找jpeg相關的軟件。

  1. brew search jpeg

出來結果有三個

  1. jpeg jpegoptim openjpeg

然後安裝自己需要的軟件

  1. brew install jpegoptim

Homebrew更新快速,操作簡單安裝方便,建議大家使用。如果formulae中的源代碼下載地址被天朝牆掉,可以直接修改rb腳本中的源代碼下載地址。

  1. TestFight

iOS開發的測試一直是令人頭疼的問題。app開發的短周期和高效率的要求注定了一款app,特別是小公司的app,不會留給開發人員很多測試的時間。而在測試時往往又遇到crash報告提交困難,測試人員與開發人員溝通不便等等問題,極大延緩了測試進度。TestFlight即是為了解決iOS開發時測試的種種困難而生的服務,使用TestFlight可以十分便利地完成版本部署,測試用戶Log提交,收集Carsh Log和收集用戶反饋等工作,而這一切居然連一個iDP賬號都不需要!

基本使用

注冊

TestFlight界面友好,文檔齊全,開發者在使用上不會遇到很多問題。到TestFlight官網注冊賬號即可開始使用。

注冊時記得勾選I am a developer,之後便可以以開發者身份管理開發和測試團隊,提交測試版本和查看報告等,若沒有勾選則是以測試者身份注冊。若在注冊時沒有選上,之後在帳號設置中也可以進行更改。

確認

注冊完成以後會在注冊郵箱中收到確認郵件。使用你的iDevice用郵件內的帳號登陸,並且完成設備注冊,加入TestFlight的描述文件。關於設備注冊和可能遇到的問題,可以參看這篇帖子。

創建團隊

登陸TestFlight後在自己的Dashboard可以新建一個團隊。團隊包括了開發者、測試者和相應的測試版本。創建團隊後可以通過選擇團隊來查看團隊的信息等情況。

添加測試者

在團隊管理界面可以為團隊添加成員。填寫受邀者的郵件和簡單的說明,一封包含注冊鏈接的郵件將被發送到指定郵箱。受邀者通過類似的注冊和確認流程即可加入團隊,參與共同開發和測試。

上傳測試版本

上傳的版本必須是包含簽名的ipa,成功上傳版本後即可選擇給團隊內的成員發郵件或推送邀請他們進行新版本的安裝和測試。之後在版本管理中即可看到關於該版本的測試信息。該部分具體內容參看本文最後。

收集測試信息

在build界面中選擇需要查看的版本的對應按鈕即可看到收集到的測試信息,包括一般的session信息,設備使用TFLog進行的輸出(需要TestFlight SDK),crash報告,是否通過了預先設定的檢查點,測試人員的安裝情況等信息。

結合SDK來使用,一切測試機仿佛都變成了你自己的終端,所有的Log和設備的狀態盡在掌握,而這樣的便利僅僅需要點擊下鼠標和寫幾行代碼,這便是TestFlight的強大之處。

TestFlight SDK使用

下載

不使用TestFlight的SDK的話,可以說就連這個強大的平台的一成功力都發揮不出來。點擊這裡從官方網站下載SDK,官方文檔提供了關於SDK的很全面的說明,在支持頁面也能找到很多有用的信息。

之後將以Xcode4為例,簡介SDK的使用,更多信息可以參考TestFlight官網。

配置

  • 將頭文件加入工程:File->Add Files to
    • 找到包含SDK的文件夾
    • 勾選"Copy items into destination folder (if needed)"
    • 選擇"Create groups for any added folders"
    • 勾上想要使用TestFlight SDK的Target
  • 驗證a是否被加到link部件中
    • 在Project Navigation裡選中工程文件
    • 選中想要應用SDK的Target
    • 選擇Build Phase欄
    • 打開Link Binary With Libraries Phase
    • 如果a不在欄內,從Project Navigation裡將其拖到欄內
  • 開始使用
    • 在需要用到TestFlight SDK的文件中引入頭文件:#import “TestFlight.h”,方便起見,您也可以在工程的預編譯文件中的#ifdef OBJC塊中引入
    • 獲取團隊token:在這個頁面中對應的團隊下選取TeamInfo,獲取團隊的token。
    • 在AppDelegate中啟動TestFlight

–(BOOL)application:(UIApplication *_)application didFinishLaunchingWithOptions:(NSDictionary _*)launchOptions { // start of your application:didFinishLaunchingWithOptions // … [TestFlight takeOff:@“團隊Token”]; // The rest of your application:didFinishLaunchingWithOptions method // … }

為了能得到有用的crash log(掛載過的),必須在生成ipa的時候不剝離.dSYM文件。在Project Navigation裡選中工程文件,選中需要使用TestFlight SDK的Target,在Building Setting的Deployment塊下,將以下三項設為NO

  • Deployment Post Processing
  • Strip Debug Symbols During Copy
  • Strip Linked Product

檢查點

開發者可以在代碼的任意位置設置檢查點,當測試者通過檢查點時,session裡將會對此記錄。比如測試者通過了某個關卡,或者提交了某個分數,或者向數據庫加入了某條信息等。通過驗證檢查點,一方面可以檢測代碼是否正確,另一方面也可以作為游戲的平衡性調整和測試,用來檢測用戶的普遍水平。

[TestFlight passCheckpoint:@“CHECKPOINT_NAME”];

檢查點問題

配合檢查點可以向測試者提出問題,比如“是否正確地通過了演示界面?”或者“分數榜的提交正常嗎?”這樣的問題。在build management下可以找到Question選項,為檢查點添加問題。問題的回答分為多選,是/否以及任意回答,如果選擇多選的話,還需要指出問題的可能的選項。
當測試者通過問題所對應的檢查點時,一個modalViewController形式的問題和選項列表會出現供測試者選擇。開發者可以在build的Question選項卡中看到反饋。

反饋

TestFlight提供了一個默認的反饋界面,測試者可以填寫他們想寫的任何內容並將這個反饋發送給你。調用一個反饋:

–(IBAction)launchFeedback { [TestFlight openFeedbackView]; }

一般來說可以在主界面或者最常見的界面上設置一個“反饋”按鈕,這樣測試者可以很方便地將他們的感受和意見發送給你。

遠程Log

太棒了…配合TestFlight,現在開發者可以拿到遠程客戶端的Log。使用TFLog代替NSLog即可,任何TFLog的輸出將被上傳到TestFlight的服務器。如果需要詳細一些的輸出信息,可以用內建的參數的方式輸出信息,比如:

#define NSLog(__FORMAT__, ...) TFLog((@"%s [Line %d] " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)

將會得到類似這樣的輸出

-[HTFCheckpointsController showYesNoQuestion:] [Line 45] Pressed YES/NO

所有的TFLog都不會阻塞主線程,所有的TFLog都將完成以下三種Logger工作

  • TestFlight logger
  • Apple System Log logger
  • STDERR logger

配合以前介紹過的NSLogger(參見這篇文章),將Log發揮到極致,讓你永遠掌控自己的代碼吧~

Log將會在客戶端進入後台或者被退出的時候上傳到服務器,如果沒有看到應該有的Log的話,很有可能是還在上傳中。視Log文件大小而定,一般這個過程需要若干分鐘。當然,巨量上幾M甚至10+M的Log可能會被TestFlight拒絕哦..畢竟沒有那麼多存儲空間..

當然,客戶端必須有可用的網絡環境這個功能才會啟用。得到的Log會存儲在Session下。

生成和上傳測試版本

打包ipa

..做過部署的童鞋對這個應該很熟了,官方也有一個詳細的guide,總之照著做就沒錯了

  • XCode3如何生成ipa
  • Xcode4如何生成ipa

上傳測試版本

打包好ipa後就到版本上傳界面,把做好的ipa拖過去就萬事大吉了。

最後一步是邀請團隊內的測試者進行測試。把你想邀請的測試者打上勾然後OK,包含鏈接的邀請郵件將會發到他們的郵箱。然後~等待測試結果和大家的反饋,並且根據反饋完善app吧~

  1. Crashlytics

你的iOS應用程序為啥會崩潰?你花費時間開發,然後在模擬器上面運行,還要費心費力去測試,然後好不容易進入App Store,結果用戶卻開始抱怨。創業公司Crashlytics采用了一個方法讓你找到應用崩潰的原因以及如何解決這些問題。

Crashlytics是基於雲的錯誤報告解決方案,旨在找到所有崩潰應用的共同點。

 

通過寫一行簡單的代碼來激活一個大概75KB的SDK,然後在Amazon Web Services的雲上來運行錯誤報告,最後給出關於你的應用崩潰的一個簡單的報告。這是目前對移動開發者最有用最簡單的錯誤報告系統。

其聯合創始人Wayne Chang稱 “Crashlytics可以提取500個崩潰日志,然後找到23個問題樣本,然後找到你實際需要修復的那個問題”。

Crashlytics想給開發者更多的應用從設備平台崩潰的環境信息。比如能否在iOS4或者iOS5上面運行?縱向還是橫向模式?Crashlytics的目標是獲取盡可能多的信息,然後傳遞給開發者。令人印象最深的是其結果的間隔尺寸。你會在你的報告中看到23個問題,但是該平台會在這當中突出前兩個,並且找到那些發生錯誤的幾行代碼。

Crashlytics給開發者呈現的崩潰報告作了整體簡化。現在崩潰日志發送給蘋果會輪流發送給開發者。這個程序會耗時兩周。在應用條款中這是個生命周期。當評論者留下負面的時候,因為在AppStore崩潰幾個小時就可以找到關鍵。Crashlytics的SDK會加速這個進行以及幫助開發者快速修復他們的應用。Crashlytics還關注一個清新的用戶界面來讓程序盡可能無害。

Chang在七歲就開始寫代碼,並且成為了Napster的一員。這是他的第三個創業公司,但是首次進入移動領域。Crashlytics已經獲得了來自Flybridge和Baseline的100萬美金的投資。

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved