iOS质量保障工具集

每个App自开发到上线需要经历多个阶段,每个阶段都要把握质量。作为iOS开发者除了从代码规范入手,我们也要从其他多方面提升质量。本文就介绍几款可以提升iOS质量开发的工具。

git-flow

由于git管理代码版本的灵活性有时会导致版本冲突、代码混乱等问题。为了更好的管理代码,大部分公司都推崇git flow的工作流程,git-flow就是为了实现这套流程的一系列git扩展命令。

git flow命令

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会及时的弹框加以提醒。

弹框提醒内存泄露

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

FLEX

以前Xcode不能查看App的UI层级结构,大家都是用Reveal工具进行查看,但现在Xcode对这个功能的支持也并不是特别完善,偶尔会引起Xcode的崩溃。

FLEX

FLEX是由Flipboard团队开发的一款应用内Debug工具,可以很方便的查看和调整UI的层级关系。另外其集成的HTTPStub还可以监控App的网络请求,是一款非常强大的工具。

Faux Pas

Faux Pas

Faux Pas是一个Xcode辅助工具,检查iOS或者Mac项目,找到潜在bug,以及可维护性和风格问题。提供了92条规则可供挑选,支持GUI和CLI。笔者觉得比较好用的功能有

  • 查找资源文件错误
    项目大了以后Nib文件经常会添加删除图片,并且很难追踪文件是否在代码或Nib文件中引用。Faux Pas能帮我们找到任何一个资源文件引用问题。
  • 代码风格的管理
    团队来新人后对代码风格的管理会变得有一定难度,使用Faux Pas会给出苹果文档给出的编码风格。
    Faux Pas的强大之处在于它在列举的潜在Bug还附带了正确编写建议,点击问题可以迅速定位到出现问题的代码的文件以及行数,非常适合作为App将要提交审核前的最后一次代码检查。

总结

本文介绍了一些提升App质量的工具,贯穿于编码前中后期等阶段,希望对iOS开发人员有一定帮助。

参考

git-flow 备忘清单
MLeaksFinder 新特性
用FauxPas找到潜在Bug

此条目发表在研发分类目录,贴了标签。将固定链接加入收藏夹。

发表评论