優(yōu)化目的
目前項(xiàng)目編譯時(shí),會(huì)有幾百上千條編譯警告,大多數(shù)警告只是開(kāi)發(fā)工具和庫(kù)新老版本的差異提示,對(duì)項(xiàng)目功能并沒(méi)有影響懦铺,但是大大增加了查找報(bào)錯(cuò)原因的難度。因此在不影響項(xiàng)目原有功能的基礎(chǔ)上支鸡,通過(guò)技術(shù)方式實(shí)現(xiàn)隱藏大多數(shù)無(wú)關(guān)緊要的告警提示冬念。
優(yōu)化方案
1. 忽略Cocoapods管理的三方庫(kù)警告
三方庫(kù)原則上不需要我們?nèi)ゲ檎覇?wèn)題并修改,因此可以直接忽略所有警告(極個(gè)別導(dǎo)致項(xiàng)目出現(xiàn)bug的三方除外)牧挣。
步驟如下:
- Podfile添加
inhibit_all_warnings!
命令(已添加)急前; - 從GitLab上拉取最新代碼后,執(zhí)行
pod install
即可生效瀑构,目前可以減少700條以上的警告裆针。
2. 全局忽略某些類(lèi)型的警告
全局忽略時(shí)主要還是針對(duì)本地引用的三方庫(kù)警告,另外需要主要警告的類(lèi)型是否會(huì)影響項(xiàng)目的功能,目前只忽略對(duì)代碼功能沒(méi)有影響警告世吨。
步驟如下:
- 在左側(cè)警告列表中選中某個(gè)警告右鍵查看
Reveal in Log
澡刹,找到warning類(lèi)型,如下圖:
-W+警告類(lèi)型:表示打開(kāi)某種類(lèi)型的警告耘婚,-Wformat打開(kāi)format類(lèi)型的警告
-Wno-+警告類(lèi)型:表示關(guān)閉某種類(lèi)型的警告罢浇,-Wno-format關(guān)閉format類(lèi)型的警告
如果需要全局忽略這個(gè)告警,就需要在 Build Settings
中的 Other Warning Flags
添加 -Wno-format
字段沐祷,如下圖:
注意:全局忽略嚷闭,雖然忽略了三方庫(kù)的警告,但是也會(huì)同時(shí)忽略我們自己的代碼警告戈轿,因此本次忽略主要針對(duì)對(duì)代碼功能無(wú)影響的警告凌受,但在實(shí)際開(kāi)發(fā)過(guò)程中仍然需要注意代碼規(guī)范,不要出現(xiàn)明顯的代碼警告類(lèi)型思杯,比如循環(huán)引用,對(duì)象未使用挠进,弱引用色乾,對(duì)象類(lèi)型混用等等。
3. 忽略某個(gè)文件的某些類(lèi)型警告
這個(gè)方法是對(duì)第二種方法的補(bǔ)充领突,比如有些警告我們只希望在三方庫(kù)中忽略暖璧,而在我們自己的文件中顯示,那么則可以使用這種方法君旦,就是會(huì)比較辛苦一點(diǎn)澎办,暫時(shí)未啟用。方法如下: