iOS开发知识小集iOS技术收藏

消除注释中的警告

2018-10-08  本文已影响33人  勇往直前888

问题

使用了CocoaPod,也加入了去掉第三方库警告的语句inhibit_all_warnings!,但是依然有大量的警告。

企业微信截图_2804d112-1434-4bbd-ae84-39e0e14bfc74.png 企业微信截图_6027ec19-b59e-4ac8-8a2b-523fa8dad1ff.png

警告类型

查看警告类型,是-Wdocumentation

企业微信截图_bdaa7b80-d4ae-476a-b82f-0fc01b14a5d7.png

查看手册,这个警告默认是关闭的,可是不知道为什么,最新的XCode10为什么把这个打开了。

企业微信截图_13c1b181-a401-42bc-b704-8cb5c3b2bb36.png

如何关闭?

将编译选项Documentation Comments关闭

企业微信截图_803daff4-cc56-4dc6-bde2-d7d3fb5ba613.png

注意事项

虽然文档注释warning出现在第三方库,关闭要在主工程中设置,在具体的第三方库中关闭是没有效果的。比如,有个绘图的第三方库Charts,会带来很多文档注释warning,像下面这样设置是没有效果的。

企业微信截图_2585d8ee-14ef-4fdf-8b37-a6dbdb7b54fa.png

参考文章

iOS-取消注释里面的警告

Clang 8 documentation

类似场景

严格的函数原型-Wstrict-prototypes,这里用到的友盟,YY等第三方库会出现warningRAC中做了处理,比如:

_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Wstrict-prototypes\"") \
typedef id _Nonnull (^RACReduceBlock)();
typedef ValueType _Nonnull (^RACGenericReduceBlock)();
_Pragma("clang diagnostic pop")

常见的情况就是参数中的void省略了,比如上面的typedef id _Nonnull (^RACReduceBlock)(void);应该这样写才是全的。

要关闭这个警告,也是要在主工程中配置的,在pod工程中配置无效

企业微信截图_d67932b1-0cab-439c-b12f-1f961cda7a15.png

警告: 函数声明不是一个原型 [-Wstrict-prototypes]

上一篇下一篇

猜你喜欢

热点阅读