iOS 開發(fā)去除 CocoaPods 警告(Fix Xcode Warning)

前言

在iOS開發(fā)中盏浙,通常我們會使用很多第三方代碼(輪子),而一般我們會選擇使用CocoaPods來管理這個庫。然后有些庫作者已經(jīng)停止更新或者更新并沒有那么即使,當(dāng)SDK升級或者編譯器升級以后废膘,這些遺留代碼會出現(xiàn)很多警告辣往。每次便宜項目看到這個多警告實在是很不爽。

關(guān)閉CocoaPods中的警告

在Podfile中加入 inhibit_all_warnings!即可

platform :ios, '9.0'
inhibit_all_warnings!

關(guān)閉文檔警告

pod install 后發(fā)現(xiàn)警告少了殖卑,但是還是有一些警告。 如下圖

image

因為從 Xcode8.0 開始坊萝,引入了文檔注釋的警告 孵稽。
解決方法關(guān)掉Pods的文檔警告
Pods -> Build Settings -> Documentation Comments -> NO

image

關(guān)閉單個庫警告

command + B 編譯一下,文檔警告沒有了十偶,美滋滋菩鲜。
然后發(fā)現(xiàn)不對,怎么pods中還有警告

image

這個應(yīng)該算是 Xcode9 的“新特性”吧惦积,從 Xcode9 開始我們定義一個不帶參數(shù)的block
typedef void(^TestBlock)();
會顯示警告This block declaration is not a prototype
直接點擊Fix typedef void(^TestBlock)(void); 即可
Or

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wstrict-prototypes"
typedef void(^TestBlock)();
#pragma clang diagnostic pop

來忽略警告

對于自己的項目代碼接校,肯定是每個 warning 都 fix 掉,按照官方推薦寫法來 coding 狮崩,然后對于第三方庫來說蛛勉,要改動的地方太多了,這種方法不太合適睦柴。
下面介紹一種一勞永逸的方法诽凌。
Pods -> target -> Other Warning Flags 添加 -w

image

<font color=#FF1493>注意:</font>是小寫w,如果是大寫的W則是顯示所有警告坦敌。

同樣可以直接修改 Pods 整個 Project 的 Other Warning Flags 關(guān)閉所有第三方庫的警告侣诵。

關(guān)閉單個文件警告

此方法同樣適用于項目中關(guān)閉單個文件的 warning
target -> Build Phases -> Compile Source 找到相關(guān)文件,在后面加入-w

關(guān)閉整個工程的相關(guān)警告

image

不過并不推薦直接關(guān)閉文件或者整個項目的 warning 狱窘,warning有助于定位問題杜顺,能改掉的 warning 還是盡量修改。

關(guān)閉局部警告方法

上面有提到使用#pragma clang diagnostic ignored "警告名稱" 來消除警告
#pragma 本質(zhì)上是聲明蘸炸,我們通常用來注釋躬络。而他的另一個強(qiáng)大功能就是處理編譯器警告
clang diagnostic 就是 #pragma的一個常用命令

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-warning name"
// your code
#pragma clang diagnostic pop

那么我們怎么找到這個 warning name 呢?
選中廣告右擊顯示菜單搭儒,選則 Reveal in Log

image

如圖洗鸵,中括號中的 -Wstrict-prototypes 就是 warning name

常用的警告名稱

#pragma clang diagnostic ignored "-Wunused-variable" 未使用的變量
#pragma clang diagnostic ignored "-Warc-retain-cycles" retain cycle
#pragma clang diagnostic ignored "-Wdeprecated-declarations" 方法棄用警告
#pragma clang diagnostic ignored "-Wincompatible-pointer-types" 不兼容的指針類型

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市仗嗦,隨后出現(xiàn)的幾起案子膘滨,更是在濱河造成了極大的恐慌,老刑警劉巖稀拐,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件火邓,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)铲咨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門躲胳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纤勒,你說我怎么就攤上這事坯苹。” “怎么了摇天?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵粹湃,是天一觀的道長。 經(jīng)常有香客問我泉坐,道長为鳄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任腕让,我火速辦了婚禮孤钦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘纯丸。我一直安慰自己偏形,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布觉鼻。 她就那樣靜靜地躺著壳猜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪滑凉。 梳的紋絲不亂的頭發(fā)上统扳,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音畅姊,去河邊找鬼咒钟。 笑死,一個胖子當(dāng)著我的面吹牛若未,可吹牛的內(nèi)容都是我干的朱嘴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼粗合,長吁一口氣:“原來是場噩夢啊……” “哼萍嬉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起隙疚,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤壤追,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后供屉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體行冰,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡溺蕉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了悼做。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疯特。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖肛走,靈堂內(nèi)的尸體忽然破棺而出漓雅,到底是詐尸還是另有隱情,我是刑警寧澤朽色,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布邻吞,位于F島的核電站,受9級特大地震影響纵搁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜往踢,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一腾誉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧峻呕,春花似錦利职、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至讯私,卻和暖如春热押,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背斤寇。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工桶癣, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人娘锁。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓牙寞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親莫秆。 傳聞我的和親對象是個殘疾皇子间雀,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容