之前我开源了一个项目occheck,它是一个检查内存泄漏和高危函数的自动化工具。但是如何利用好它呢?如果能够像Xcode静态分析那样能自动在编译时执行就好了。呵呵,言归正传,这篇文章将为你详细介绍如何在项目调试前进行自动检查,以达到减少不安全的代码目的。我们开始吧!
1、创建一个Runscript(运行脚本)
打开项目配置,选择合适的target,在右侧选择“Build Phases”。然后在下方点击“Add Build Phases”-“Add Run Script”。如下图:
2、输入相应的运行脚本
点击“Add Run Script”菜单后,将会在中间添加“Run Script”项,在此项的第二个文本框里输入脚本:
1
|
/path/to/occheck
/path/to/class
目录
|
如下图:
3、运行
Build&Run吧,如果检查到内存信息或高危函数,将无法运行。同时,在build日志里会显示那个类或文件出错了。如:
1
2
3
4
|
ERROR: QHTTPCacheManager cacheRootPath 没有在dealloc中release.
ERROR: CategoryView buttons 没有在dealloc中release.
ERROR: TodayDealListViewController dealInfosThisRounds 没有在dealloc中release.
ERROR: TodayDealListViewController dealInfosThisRound 没有在dealloc中release.
|