iOS質量保障工具集

每個App自開發到上線需要經歷多個階段,每個階段都要把握質量。作為iOS開發者除了從代碼規範入手,我們也要從其他多方面提升質量。本文就介紹幾款可以提升iOS質量開發的工具。

git-flow

由於git管理代碼版本的靈活性有時會導致版本衝突、代碼混亂等問題。為了更好的管理代碼,大部分公司都推崇git flow的工作流程,git-flow就是為了實現這套流程的一系列git擴展命令。

iOS质量保障工具集

git-flow 並不是要替代git,也沒有為git擴展任何新功能,它僅僅是非常聰明有效地把標準的git命令用腳本組合了起來。我曾經在github上開源過一些庫以及源碼,發現在編寫新功能代碼時,創建feature分支是非常明智且有高回報的一種操作,一旦你習慣於區分master、develop、feature等分支後,會讓你的生產力大大提高。另外,Source tree等可視化版本管理工具對git flow也支持得很好。

MLeaksFinder

Xcode自帶的Instrument 的 Leaks / Allocations 存在各種問題和不便,主要體現在:

  • 對App的內存洩露監控不完全。由蘋果開發者文檔我們知道,App的內存分三類:Leaked memory、Abandoned memory、Cached memory。其中 Leaked memory 和 Abandoned memory 都屬於應該釋放而沒釋放的內存,都是內存洩露,而 Leaks 工具只負責檢測 Leaked memory,而不管 Abandoned memory。在 MRC 時代 Leaked memory 很常見,因為很容易忘了調用 release,但在 ARC 時代更常見的內存洩露是循環引用導致的 Abandoned memory,Leaks 工具查不出這類內存洩露,應用有限。

  • 監測內存便攜性不高。首先,你得打開 Leaks/Allocations;其次,你得一個個場景去重複的操作。

  • 監測實時性不強。

騰訊推出的MLeaksFinder很好的解決了上述問題。對於內存沒有釋放的情況,MLeaksFinder會及時的彈框加以提醒。

彈框提醒內存洩露

iOS质量保障工具集

筆者:如果大家在項目中使用ReactiveCocoa,那這款工具肯定是必不可少的。

FLEX

以前Xcode不能查看App的UI層級結構,大家都是用Reveal工具進行查看,但現在Xcode對這個功能的支持也並不是特別完善,偶爾會引起Xcode的崩潰。

iOS质量保障工具集

FLEX是由Flipboard團隊開發的一款應用內Debug工具,可以很方便的查看和調整UI的層級關係。另外其集成的HTTPStub還可以監控App的網絡請求,是一款非常強大的工具。

Faux Pas

iOS质量保障工具集

Faux Pas是一個Xcode輔助工具,檢查iOS或者Mac項目,找到潛在bug,以及可維護性和風格問題。提供了92條規則可供挑選,支持GUI和CLI。筆者覺得比較好用的功能有

  • 查找資源文件錯誤

項目大了以後Nib文件經常會添加刪除圖片,並且很難追蹤文件是否在代碼或Nib文件中引用。Faux Pas能幫我們找到任何一個資源文件引用問題。

  • 代碼風格的管理

團隊來新人後對代碼風格的管理會變得有一定難度,使用Faux Pas會給出蘋果文檔給出的編碼風格。

Faux Pas的強大之處在於它在列舉的潛在Bug還附帶了正確編寫建議,點擊問題可以迅速定位到出現問題的代碼的文件以及行數,非常適合作為App將要提交審核前的最後一次代碼檢查。

總結

本文介紹了一些提升App質量的工具,貫穿於編碼前中後期等階段,希望對iOS開發人員有一定幫助。

參考


分享到:


相關文章: