iOS开发如何消除Xcode中的警告(黄色叹号)

代码中的警告有时候有助于一些问题定位,但是随着时间一长,一些无法解决的警告会越来越多,这些警告看着确实头疼。对于一个有洁癖的技术来说,一定要消除它们。

消除方法

局部消除警告的方法

#pragma clang diagnostic push
#pragma clang diagnostic ignored "警告名称"
// 要消息的代码块
// 被夹在这中间的代码针对于此警告都会无视并且不显示出来
#pragma clang diagnostic pop

全局消息警告的方法

在项目的pch文件中.pch
#pragma clang diagnostic ignored "警告名称"

关闭某个文件的警告

关闭某个源文件里的某种警告,在target-> Build Phases->Compile Source,给指定的源文件添加编译选项,如下图

关闭整个工程的相关警告

设置工程的警告,如下图

关闭cocoPods第三方库警告

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

xcode取得警告名称的方法

1.在某一个警告处,右键, reveal in log

2.[-W]开头的值

常用的警告名称

  1. #pragma clang diagnostic ignored "-Wunused-variable" 未使用的变量
  2. #pragma clang diagnostic ignored "-W#warnings" 通过 #warning主动添加的警告
  3. #pragma clang diagnostic ignored "-Wformat" 字符串格式化警告
  4. #pragma clang diagnostic ignored "-Wdeprecated-declarations" 方法弃用告警
  5. #pragma clang diagnostic ignored "-Wincompatible-pointer-types" 不兼容指针类型
  6. #pragma clang diagnostic ignored "-Warc-retain-cycles" retain cycle

更多请查阅

更多内容,请查阅

http://clang.llvm.org/docs/UsersManual.html#diagnostics_pragmas
http://nshipster.com/pragma/
http://www.cocoachina.com/applenews/devnews/2013/0731/6707.html

http://www.cocoachina.com/ios/20141218/10678.html

你可能感兴趣的:(iOS)