我正在使用以下命令将oclint与xcode 5-一起使用
第1步:xcodebuild -target OClintDemo -configuration Debug -scheme OClintDemo -sdk iphonesimulator Step2:OClintDemo jenkins $ xcodebuild -sdk iphonesimulator | tee xcodebuild.log Step3:oclint-xcodebuild xcodebuild.log Step4:oclint-json-compilation-database - -o = report.html
但我得到compile_commands.json空文件,而report.html包含以下内容 - OCLint报告摘要:TotalFiles = 0 FilesWithViolations = 0 P1 = 0 P2 = 0 P3 = 0 [OCLint(http://oclint.org)v0.7]
Xcode 8不支持xctool,你可以使用xcpretty。你的xcodebuild命令应该是这样的
如果您正在使用工作区
xcodebuild -workspace WORKSPACE_NAME.xcworkspace -scheme SELECTED_SCHEME | xcpretty -r json-compilation-database --output compile_commands.json
对于单个项目
xcodebuild -project PROJECT_NAME.xcodeproj | xcpretty -r json-compilation-database --output compile_commands.json
这是我如何得到一个合适的compile_commands.json
文件(Xcode 8.3)
清理你的构建
xcodebuild clean -workspace WORKSPACE.xcworkspace/ -scheme "SCHEME"
这可以确保xcodebuild重新编译所有文件,然后使它们出现在编译数据库中。
构建并生成compile_commands.json:
xcodebuild -workspace WORKSPACE.xcworkspace/ -scheme "SCHEME" | xcpretty -r json-compilation-database -o compile_commands.json
显然,您应该使用项目值替换工作空间和方案。您还可以使用-project
而不是-workspace
对项目运行此操作。
你试试这个剧本
#xctool oclint
xctool -workspace iWeidao.xcworkspace \
-scheme iWeidao \
-reporter json-compilation-database:compile_commands.json clean build
oclint-json-compilation-database -v oclint_args "-report-type html -o report.html -rc=LONG_LINE=120"
open compile_commands.json
open report.html