Xcode中 cmd+B 以後總會出現各類各樣的警告,對於一個對代碼有潔癖的人,這種狀況很難忍,接下來咱們用些特殊手段強制消除這些警告
ui
使用編譯器宏來操做spa
#pragma clang diagnostic push #pragma clang diagnostic ignored "警告名稱" // 被夾在這中間的代碼針對於此警告都會忽視不會顯示出來 //常見警告的名稱 //1, 聲明變量未使用 "-Wunused-variable" //2, 方法定義未實現 "-Wincomplete-implementation" //3, 未聲明的選擇器 "-Wundeclared-selector" //4, 參數格式不匹配 "-Wformat" //5, 廢棄掉的方法 "-Wdeprecated-declarations" //6, 不會執行的代碼 "-Wunreachable-code" #pragma clang diagnostic pop
例:.net
#pragma clang diagnostic push //收集當前的警告 //忽略在arc 環境下performSelector產生的 leaks 的警告 #pragma clang diagnostic ignored "-Warc-performSelector-leaks" // 包含 performSelector 的語句 #pragma clang diagnostic pop //彈出全部的警告
固然,也能夠在pch等具備大範圍做用域的頭文件中包含: 
code
#pragma clang diagnostic ignored "警告名稱"
orm
若是剔除了push與pop 則後面全部的代碼都具備強制消除警告做用
blog
查找某一種警告名稱的方法:ip
打開一個工程,編譯項目(不編譯Reveal in Log是灰色的),切換左側導航區域>>issue navigator,下面[]裏面的字符串就是該警告的名稱作用域
在項目的 Build Settings
中也能夠設置忽略某種或多種類型的警告,不過在這設置的影響範圍就是整個項目的了,要三思然後行,否則就是給本身挖坑字符串
仍是上面的例子,在 Build Settings
中找到 Custom Compiler Flags
,雙擊 Other Warning Flags
(能夠配置 Debug
和 Release
環境),填入 -Wno-unused-variable
get
完成後,編譯項目,項目中全部的此類型警告都沒有了。Build Settings 中項目全局忽略警告這裏所填寫的內容規則,僅僅是在第一種方法中找到的警告標識符中的 W
字母后面加上 no-
就能夠了
使用cocoapod引入的第三方,若是第三方庫中有警告,能夠在podfile文件中增長一句 inhibit_all_warnings!
將以上文件從Compile Sources中刪除。路徑TARGETS > Build Phases > Compile Sources 選中該類型文件刪除
參考資料(戳這裏):