美文网首页开发知识点
iOS集成MLeaksFinder+FBRetainCycleD

iOS集成MLeaksFinder+FBRetainCycleD

作者: 李俊康 | 来源:发表于2019-01-16 17:18 被阅读0次

    一、cocoapods导入

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

    pod 'MLeaksFinder'

    二、手动集成

    1.下载集成支持库

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

    屏幕快照 2019-01-16 下午4.17.07.png
    屏幕快照 2019-01-16 下午4.17.42.png
    2.更改支持库中类在arc环境中运行
    将库拖入工程后会出现以下错误, 屏幕快照 2019-01-16 下午4.22.09.png

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

    屏幕快照 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

    更改引入方式:


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

    这样就可以正常使用了。

    相关文章

      网友评论

        本文标题:iOS集成MLeaksFinder+FBRetainCycleD

        本文链接:https://www.haomeiwen.com/subject/jppmdqtx.html