iOS 去除警告 看我就夠了
阿新 • • 發佈:2018-12-29
你是不是看著開發過程中出現的一堆的警告會心情一陣煩躁,別煩躁了,看完此文章,消除警告的小尾巴。
一、SVN 操作導致的警告
1.svn刪除檔案後報錯 ”xx“is missing from working copy
- 使用命令
sudo find 工程專案路徑 -name ".svn" -exec rm -r {} \;
自動找到.svn的檔案進行刪除 - Command+shift+K清理專案
- 重新開啟Xcode
2.iOS開發中編譯通過Success但有紅色警告
- 方法1
Clean +build - 方法2
1.開啟finderCommand+shift+G 組合鍵
前往資料夾輸入/使用者/XXXX/Library/Developer/Xcode
其中XXX為你的賬戶名
2.進入Xcode資料夾後刪除DerviedData
目錄 然後專案重新clean編譯
二、程式碼警告
1. API過期 不相容指標型別、迴圈引用等一般性警告
可以通過以下巨集定義罩住警告的方法來消除
- 開始
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- 結束
#pragma clang diagnostic pop
注意:ignored 的後面雙引號裡的內容可以通過以下方式檢視
1.選擇一個警告右鍵,點選Reveal in Log
Paste_Image.png
2.在描述裡找到帶框識別符號
[]中的文字即是我們所需
2.Apple LLVM 8.1 Warning Group
"Missing submodule 'AVFoundation.XXXXXX'"
此類問題總結下就是AVFoundation Import Warnings after XCODE 8 upgrade
解決方法:
#import <AVFoundation/AVFoundation.h>
// delete us
//#import <AVFoundation/AVSpeechSynthesis.h>
//#import <AVFoundation/AVAudioSession.h>
3.Pointer is missing a nullability type specifier.....
很多時候編譯器會因為有很多屬性或者方法都要加nonnull屬性時報這個警告,對此我們有2種方式
1.手動新增nullable
或nonnull
修飾屬性或方法;
2.採用巨集定義
開始:NS_ASSUME_NONNULL_BEGIN
結束:NS_ASSUME_NONNULL_END
這兩個要配合使用,在其區間的屬性都會獲得nonnull屬性
4.Apple Mach-O Linker (ld) Warning Group
檢視警告的目錄檔案,然後進入專案名字 -> targets -> Build Settings ->搜尋 search path
檢視framework search path 、library search path 、header search path
把裡面沒用的東西 點 減號 刪掉 就行了。
5.Empty paragraph passed to 'XXXXXX' command的警告
進入專案名字 -> targets -> Build Settings ->搜尋 other warning
在other warning Flags
新增 -Wno-documentation
6.Pointer is missing a nullability type specifier..... 不能為空警告
NS_ASSUME_NONNULL_BEGIN
相關需要忽略警告的程式碼
NS_ASSUME_NONNULL_END
三、消除cocoaPods裡第三方庫的警告
咱不能只會消除警告,必要的時候還需要寫下警告呢,用以提醒,請看
作者:crazy丶LT
連結:https://www.jianshu.com/p/a0b4bb38f143
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。