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

RAC警告问题解决方案

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

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


#####ReactiveCocoa中:

RACObserve宏定义如下:

原因:

  • 此前,如果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版,在此基础上,你修改其中的一个预防警告的代码,是不会影响这个库对项目的影响的.


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

转载于:https://juejin.im/post/5a39dcd96fb9a0452405f819

你可能感兴趣的:(iOS 11 适配 RAC警告问题解决方案)