iOS开发消除编译警告

iOS开发中的警告

开发过程中总会不可避免的产生各种警告,警告值得开发者严禁对待。
比如:

  • -Wnonnull警告 表示需要非空的入参
  • -Wunused-const-variable警告 表示该const修饰对象没被任何地方使用
  • -Wunused-variable警告 表示该对象没被任何地方使用
  • -Wunguarded-availability警告 表示该API已被弃用,请使用最新版本的API 等等

但是,大多数警告能被解决后,但仍然有少部分警告是不方便、或者不能被解决的,尤其当开发SDK,或者组件模块的时候我们希望不必要的警告能被消除,不计入编译后的警告个数等,这时候苹果为我们提供了消除了警告的方法:
我们只需要将引起警告的代码用

#pragma clang diagnostic push
#pragma clang diagnostic ignored "警告的类型"

#pragma clang diagnostic pop

包括起来就行啦
如:

    NSInteger count = 1;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wformat"
    NSLog(@"%d",count);
#pragma clang diagnostic pop

那么如何获取警告的类型呢
build -> 找到buildtime界面 -> 选中对应的警告 -> 右键 -> 选择Reveal in Log -> 就能找到对应的警告类型了。

build警告界面.png

![警告方法.png](https://upload-images.jianshu.io/upload_images/1798452-eec6709d4dffa4dd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

cocoPods第三方警告的消除

如果想关闭第一个cocoPods引入的第三方库引起的警告,可以找到Pod对应的target在编译参数中添加 -w。注意,是小写-w, 大写-W,则是显示所有警告


Pods警告.png

参考:iOS开发如何消除黄色感叹号

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

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,736评论 0 3
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,033评论 3 119
  • 在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak、循环引用、不能执行之类的警告。 有代码洁癖的孩子...
    磁针石阅读 11,537评论 0 16
  • 从6月1日跟蕙姐和梁师兄等人发起大河读书会晨跑计划以来,到今天我已经坚持了22天时间。早起和晨跑已经成为我...
    奔跑的信风阅读 1,152评论 2 2
  • 很后悔现在才看到《横向领导力》一书,如果刚毕业的时候看到,就不会走那么多弯路。不过现在看完给我最大的收获是,总结过...
    小人物的狂想曲阅读 478评论 1 4