消除注释中的警告

问题

使用了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]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Documentation Comments 对待警告要像对待错误一样
    iOSZHU阅读 274评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,881评论 18 139
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,004评论 3 119
  • 及时当勉励,岁月不待人。 学习了这11天学习的感受每天都有不同的感觉。 前几天觉得很新奇,过了几天觉得...
    怯流光阅读 191评论 0 0
  • 总有一场梦 带你回到曾经 是半掩的窗 是旧日的墙 排列在无数次 迟到的早上 总有一条路 通往一座小城 不再有青石板...
    韩尚小阅读 253评论 0 3