環(huán)境搭建:
brew cask install oclint
brew cask installxcpretty
oclint檢測代碼
$xcodebuild \
-workspace TALAccSDK.xcworkspace \
-scheme TALAccSDK \
-configuration Debug build \?
| xcpretty \ #使用xcpretty將編譯結(jié)果輸出成后面需要的.json文件
-r json-compilation-database \
-o compile_commands.json
xcodebuild -workspace TALAccSDK.xcworkspace clean -scheme TALAccSDK -configuration Debug build | xcpretty -r json-compilation-database -o compile_commands.json
注:如果使用了clean命令,會(huì)清理編譯緩存,本次操作需重新進(jìn)行編譯
$xcodebuild -workspace name.xcworkspace clean
oclint-json-compilation-database 轉(zhuǎn)換.json文件為.html
$oclint-json-compilation-database \
-e Pods -- \
-report-type html \
-o oclintresult.html \
-rc LONG_LINE=9999 \ #添加一個(gè)檢查規(guī)則:最長行數(shù)邊界為9999,小于兩千才可以通過檢測:
-max-priority-1=9999 \
-max-priority-2=9999 \
-max-priority-3=9999
oclint-json-compilation-database -e Pods -- -report-type html -o oclintresult.html -rc LONG_LINE=9999 -max-priority-1=9999 -max-priority-2=9999 -max-priority-3=9999
報(bào)錯(cuò):
1、multiple jobs問題
oclint: error: one compiler command contains multiple jobs:xxxx
基本出現(xiàn)在初次運(yùn)行oclint或者使用了clean命令,清除了編譯緩存之后,會(huì)出現(xiàn)下面的錯(cuò)誤:
找到了一種解決方式:oclint: error: one compiler command contains multiple jobs解決方式
(更多依賴內(nèi)容參考OCLint-內(nèi)容擴(kuò)展頁面)
post_install do |installer|
????installer.pods_project.targets.each do |target|
????????target.build_configurations.each do |config|
config.build_settings['COMPILER_INDEX_STORE_ENABLE']= "NO"
????????end
????end
end