開發中,常常須要禁止編譯器提示某些warnings,下面是典型場景和html
1,使用CocoaPods時,引用的其餘人開發的Pods中包含warnings。ios
2,直接引用其餘人寫的源代碼時,包括經過直接導入Project、直接引用源文件中包含warnings。ui
3,本身寫的代碼中引入的warnings,好比調用performSelector: 向基類對象發送派生類中才定義的消息時。this
禁止warning的方法:spa
1,關閉Pods中的警告code
在Podfile中加入第4行的代碼:inhibit_all_warnings!orm
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讓設置生效。htm
2,關閉某個文件中的警告對象
經過Xcode-Target-Build Phases菜單,找到包含警告的源文件,雙擊後,加入「-w」後保存,再次編譯,就看不到該文件中包含的全部警告了。blog
經過Clang Compiler User's Manual,能夠看到:-w:Disable all diagnostics.
若是隻想關閉某個警告,能夠使用-Wno-foo,foo是warning的名字。
BTW:若果想關閉全部警告,但只想打開特定警告,使用-Wfoo。一樣的,foo是warning的名字。
3,關閉某段代碼中的警告
1 #pragma clang diagnostic push 2 #pragma clang diagnostic ignored "-Wunused-variable" 3 4 int a; 5 6 #pragma clang diagnostic pop
第4行引入了一個常見的警告:未使用的變量,關閉該警告的方法就是在該行代碼先後加上一、二、6行樣式的代碼,重點是第2行最後的"-Wunused-variable"。