去掉Xcode工程中某種類型的警告

問題描述:
在我們的項(xiàng)目中,因?yàn)榇罅康氖褂玫谌綆?kù),經(jīng)常會(huì)出現(xiàn)各種三方庫(kù),以及我們自己再敲代碼時(shí)候調(diào)用系統(tǒng)方法卻沒有實(shí)現(xiàn)到時(shí)的各種各樣的黃色警告。作為一個(gè)有追求的程序員,不僅僅是為了實(shí)現(xiàn)功能而實(shí)現(xiàn)功能。如何去掉這些煩人的黃色警告呢?


環(huán)信easyUI中的黃色警告

軟件環(huán)境:
Xcode Version 8.2.1 (8C1002)
如何查看警告的類型
在警告窗口,某個(gè)警告上,我們右擊,顯示出右鍵菜單,選擇其中的Reveal in Log

展示

之后就會(huì)在右側(cè)展示出警告類型


警告類型

注意:如果需要關(guān)閉警告需要將 -W 換位-Wno-
1.關(guān)閉使用cocopods導(dǎo)入的第三方庫(kù)的黃色警告
去掉cocopods中導(dǎo)入三方庫(kù)的黃色警告比較簡(jiǎn)單,只需要一行代碼 inhibit_all_warnings!
,如鐘使用的是cocopods的客戶端 cocoapods

cocopods中的代碼

2.關(guān)閉整個(gè)工程中某個(gè)類型的警告
Xcode為我們提供了方法,只需要簡(jiǎn)單的配置即可。
Target --> BuildSetting --> other warnning flag
在其中添加-Wno-shorten-64-to-32
即可以去掉整個(gè)工程中的 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32_t' (aka 'int’)
警告
3.關(guān)閉指定.m文件中的黃色警告
同樣,Xcode同樣給我們提供了配置方法,關(guān)閉指定文件中的某種類型的警告很簡(jiǎn)單。
TARGETS -- > Build Phases --->Compile Sources
中雙擊需要關(guān)閉警告的.m文件,在其中添加添加關(guān)閉指定類型的代碼即可.


關(guān)閉指定文件的警告

4.關(guān)閉某個(gè)文件中的某些警告
使用編譯器提供的宏來操作

pragma clang diagnostic push#pragma clang diagnostic ignored "-相關(guān)命令" //需要關(guān)閉警告的代碼#pragma clang diagnostic pop

下面給出一些關(guān)閉常見警告的示例
1.方法棄用警告#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" [TestFlight setDeviceIdentifier:[[UIDevice currentDevice] uniqueIdentifier]]; #pragma clang diagnostic pop

2.不兼容指針類型#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wincompatible-pointer-types" // #pragma clang diagnostic pop

3.循環(huán)引用#pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-retain-cycles" self.completionBlock = ^ { ... }; #pragma clang diagnostic pop

4.未使用變量#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-variable" int a; #pragma clang diagnostic pop

最后
上面講到的幾種方法,各位讀者根據(jù)不同的應(yīng)用場(chǎng)景自行選擇使用。其實(shí)對(duì)于自己寫的代碼最直接同時(shí)最安全方式就是,定位到自己報(bào)警告的位置,修改為不警告。最后的最后,祝各位讀者:** No Bug,No Warnning!**

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容