一、cocoapods导入
只需要在podfile文件中加入相关库即可。
pod 'MLeaksFinder'
二、手动集成
1.下载集成支持库
MLeaksFinder ---Git地址:> https://github.com/Tencent/MLeaksFinder。
FBRetainCycleDetector---Git地址:> https://github.com/facebook/FBRetainCycleDetector。
1.将相关支持库拖入到工程中:
2.更改支持库中类在arc环境中运行
将库拖入工程后会出现以下错误,
这是这些文件需要mrc运行导致的。按照提示更改相关类的配置即可。
更改完这些配置后即可编译成功。
2.更改头文件和开关使循环引用的支持库生效。
1.手动集成之前需要先了解一下系统宏的使用:
#ifdef 条件 一
//条件一成立,执行语句一
语句一
#elif 条件二
//条件二成立,执行语句二
语句二
#endif
在MLeaksFinder.h中有开关控制是否开启循环引用检测,就是是否使用FBRetainCycleDetector库的相关类。代码如下:
//是否开启循环引用检测,默认是不开启的,被注释掉了
//#define MEMORY_LEAKS_FINDER_RETAIN_CYCLE_ENABLED 1
//条件判断开启循环引用检测的情况,
#ifdef MEMORY_LEAKS_FINDER_RETAIN_CYCLE_ENABLED
#define _INTERNAL_MLF_RC_ENABLED MEMORY_LEAKS_FINDER_RETAIN_CYCLE_ENABLED
#elif COCOAPODS
#define _INTERNAL_MLF_RC_ENABLED COCOAPODS
#endif
2.打开开关更改配置。
#define MEMORY_LEAKS_FINDER_RETAIN_CYCLE_ENABLED 1
3.打开循环引用检测的配置的话,会引用FBRetainCycleDetector库的文件,会报错误:
更改引入方式:
这样就可以正常使用了。