Xcode警告忽略


 

Xcode中 cmd+B 之后總會出現各種各樣的警告,對於一個對代碼有潔癖的人,這種情況很難忍,接下來我們用些特殊手段強制消除這些警告 

 

一、忽略源文件中的警告

  使用編譯器宏來操作

#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

  例:

#pragma clang diagnostic push //收集當前的警告

//忽略在arc 環境下performSelector產生的 leaks 的警告
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"

// 包含 performSelector 的語句

#pragma clang diagnostic pop //彈出所有的警告

  

  當然,也可以在pch等具有大范圍作用域的頭文件中包含: 

    #pragma clang diagnostic ignored "警告名稱"

  如果剔除了push與pop 則后面所有的代碼都具有強制消除警告作用

 

  查找某一種警告名稱的方法:

    打開一個工程,編譯項目(不編譯Reveal in Log是灰色的),切換左側導航區域>>issue navigator,下面[]里面的字符串就是該警告的名稱

  

二、忽略工程中的警告

  在項目的 Build Settings 中也可以設置忽略某種或多種類型的警告,不過在這設置的影響范圍就是整個項目的了,要三思而后行,不然就是給自己挖坑

  還是上面的例子,在 Build Settings 中找到 Custom Compiler Flags,雙擊 Other Warning Flags(可以配置 DebugRelease 環境),填入 -Wno-unused-variable

  完成后,編譯項目,項目中所有的此類型警告都沒有了。Build Settings 中項目全局忽略警告這里所填寫的內容規則,僅僅是在第一種方法中找到的警告標識符中的 W 字母后面加上 no- 就可以了


 
 

三、忽略cocoapod項目中的警告

   使用cocoapod引入的第三方,如果第三方庫中有警告,可以在podfile文件中增加一句  inhibit_all_warnings!

 

四、忽略.md/.mdown/.h類型警告

   將以上文件從Compile Sources中刪除。路徑TARGETS > Build Phases > Compile Sources 選中該類型文件刪除

 

 

參考資料(戳這里):

>  談談Objective-C的警告

>  去掉Xcode中某類型的警告

>  Xcode項目忽略警告

>  部分Xcode編譯警告類型

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM