iOS集成MLeaksFinder+FBRetainCycleDetector

一、cocoapods导入

只需要在podfile文件中加入相关库即可。

pod 'MLeaksFinder'

二、手动集成

1.下载集成支持库

MLeaksFinder ---Git地址:> https://github.com/Tencent/MLeaksFinder。
FBRetainCycleDetector---Git地址:> https://github.com/facebook/FBRetainCycleDetector。
1.将相关支持库拖入到工程中:

iOS集成MLeaksFinder+FBRetainCycleDetector_第1张图片
屏幕快照 2019-01-16 下午4.17.07.png

iOS集成MLeaksFinder+FBRetainCycleDetector_第2张图片
屏幕快照 2019-01-16 下午4.17.42.png

2.更改支持库中类在arc环境中运行
将库拖入工程后会出现以下错误,

iOS集成MLeaksFinder+FBRetainCycleDetector_第3张图片
屏幕快照 2019-01-16 下午4.22.09.png

这是这些文件需要mrc运行导致的。按照提示更改相关类的配置即可。

iOS集成MLeaksFinder+FBRetainCycleDetector_第4张图片
屏幕快照 2019-01-16 下午4.25.43.png

更改完这些配置后即可编译成功。

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库的文件,会报错误:


屏幕快照 2019-01-16 下午5.08.44.png

更改引入方式:


iOS集成MLeaksFinder+FBRetainCycleDetector_第5张图片
屏幕快照 2019-01-16 下午5.09.09.png

这样就可以正常使用了。

你可能感兴趣的:(iOS集成MLeaksFinder+FBRetainCycleDetector)