美文网首页
iOS 11 适配 RAC警告问题解决方案

iOS 11 适配 RAC警告问题解决方案

作者: 墨竹轩客 | 来源:发表于2017-10-13 10:41 被阅读0次

    RAC警告问题解决方案

    问题:

    xcode9 中,在开发ios应用时,会发现第三方库ReactiveCocoa出现这样的问题

    • 报警告如下
    • ReactiveCocoa Unknown warning group ‘-Wreceiver-is-weak’,ignored...
    ReactiveCocoa警告.png
    ReactiveCocoa中:

    RACObserve宏定义如下:

    RACObserve宏定义.png

    原因:

    • 此前,如果Xcode中的消息接受者是一个weak对象,clang编译器会报receiver-is-weak警告,所以加了这段push&pop代码,最新的clang已经把这个警告给移除,所以没必要加push&pop了。

    改为下面这样就可以:

    #define RACObserve(TARGET, KEYPATH) \
        ({ \
            __weak id target_ = (TARGET); \
            [target_ rac_valuesForKeyPath:@keypath(TARGET, KEYPATH) observer:self]; \
        })
    

    修改时可能要解锁Podfile文件,因为ReactiveCocoa已经不再对Objective-C进行维护,如果你的项目中用到它,最好不要再去更新.因为它的最新稳定版是2.5版,在此基础上,你修改其中的一个预防警告的代码,是不会影响这个库对项目的影响的.


    如果有其他好的方案,或者对本文有什么问题,可以在 留言中讨论,谢谢各位指正

    相关文章

      网友评论

          本文标题:iOS 11 适配 RAC警告问题解决方案

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