4

我正在使用以下命令将 oclint 与 xcode 5- 一起使用

Step1: 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 ]

4

4 回答 4

6

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
于 2017-03-14T15:56:56.833 回答
5

这是我获得正确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.

于 2017-04-07T15:12:11.697 回答
1

你试试这个脚本

#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

这里 https://github.com/facebook/xctool/issues/270

于 2014-08-28T07:51:47.650 回答
0
  1. 尝试先清理构建,然后再次构建
  2. 确保文件名或路径中没有空格
于 2014-09-30T06:28:58.703 回答