开发中,经常需要禁止编译器提示某些warnings,下面是典型场景和

1,使用CocoaPods时,引用的其他人开发的Pods中包含warnings。

2,直接引用其他人写的源代码时,包括通过直接导入Project、直接引用源文件中包含warnings。

3,自己写的代码中引入的warnings,比如调用performSelector: 向基类对象发送派生类中才定义的消息时。

禁止warning的方法:

1,关闭Pods中的警告

在Podfile中加入第4行的代码:inhibit_all_warnings!

 1 # Uncomment this line to define a global platform for your project
2 # platform :ios, '6.0'
3
4 inhibit_all_warnings!
5
6 target 'TestTarget' do
7 pod 'SDWebImage', '~> 3.7.1'
8 pod 'MBProgressHUD', '~> 0.9'
9 pod 'TMCache', '~> 1.2.3'
10 pod 'AutoCoding', '~> 2.2.1'
11 end

保存Podfile后,打开Workspace之前,不要忘了再次运行pod install让设置生效。

2,关闭某个文件中的警告

通过Xcode-Target-Build Phases菜单,找到包含警告的源文件,双击后,加入“-w”后保存,再次编译,就看不到该文件中包含的所有警告了。

通过Clang Compiler User's Manual,可以看到:-w:Disable all diagnostics.

如果只想关闭某个警告,可以使用-Wno-foo,foo是warning的名字。

BTW:若果想关闭所有警告,但只想打开特定警告,使用-Wfoo。同样的,foo是warning的名字。

3,关闭某段代码中的警告

 #pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable" int a; #pragma clang diagnostic pop

第4行引入了一个常见的警告:未使用的变量,关闭该警告的方法就是在该行代码前后加上1、2、6行样式的代码,重点是第2行最后的"-Wunused-variable"。

最新文章

  1. Java设计模式(二) 工厂方法模式
  2. 从零开始学iPhone开发(4)——使用WebView
  3. Linux内核同步机制
  4. 网络开发库从libuv说到epoll
  5. c# datagridview表格控件常用操作
  6. pyinstaller使用小结
  7. 20160504-hibernate入门
  8. MyBatis映射文件的resultMap如何做表关联
  9. js校验
  10. iOS分类
  11. wince平台下使用log4net记录日志
  12. shell脚本 案例
  13. OSChinaclient源代码学习(1)--Android与Server的交互
  14. XML文档操作之JAXP下实现
  15. Hadoop小文件存储方案
  16. for批处理skip参数不支持变量延迟!n!的解决办法
  17. 洛谷P2239 螺旋矩阵
  18. ElasticSearch查询 第二篇:文档更新
  19. final 140字评论I
  20. 【ARM】ARM体系结构-GPIO

热门文章

  1. Java并发学习之二——获取和设置线程信息
  2. [Angular 2] Create a simple search Pipe
  3. LVS图解 ---阿里
  4. Dagger2学习之由浅入深
  5. 请输出in.txt文件中的2 4 6 8 9 10 12行
  6. ASP.NET中 分析器错误:发现不明确的匹配
  7. 关于mtk Android打开串口权限问题
  8. Android JNI 之 环境安装
  9. openstack VM可以ping外部网络,但是外部网络ping不通VM
  10. App Store自动下载WiFi与蜂窝数据切换机制