强制去除警告
单个文件去除警告
在警告处使用以下方法
#pragma clang diagnostic push
#pragma clang diagnostic ignored "警告类型"
...
#pragma clang diagnostic pop
或在Build Phases中文件名后加入警告类型需要将警告类型中的-W
替换为-Wno-
整个工程去除警告
在 PROJECT的Build Settings中Other Warning Flags 一栏中加入警告类型也需要将警告类型中的-W
替换为-Wno-
xib去除警告
xib中常见警告为
Automatic Preferred Max Layout Width before iOS 8.0
需要将Builds for改为iOS 8.0
Highlighted property is only for display within interface builder
需要将XIB文件通过Source Code打开之后将当中highlighted="YES"
的内容改为NO
CocoaPods去除警告
在Podfile中加入以下内容可以去除警告
pod 'ReactiveCocoa', '~> 2.1', :inhibit_warnings => true
不过上面方法有时会出现错误
可以加入下面代码
platform :ios, '9.0'
inhibit_all_warnings!
来清除所有pods中的警告
警告内容
警告内容 | 警告类型 |
---|---|
没有实现声明的方法 | -Wincomplete-implementation |
使用NS_DESIGNATED_INITIALIZER同时没有重写init等方法 | -Wobjc-designated-initializers |
没有实现协议 | -Wprotocol |
参数格式不匹配 | -Wmismatched-parameter-typess |
指针格式不兼容 | -Wincompatible-pointer-types |
方法弃用告警 | -Wdeprecated-declarations |
循环引用 | -Warc-retain-cycles |
未使用变量 | -Wunused-variable |
未声明方法 | -Wundeclared-selector |
指针和bool转换使得bool一直为true | -Wpointer-bool-conversion |
... | ... |
警告内容可以在警告的log中获取