我们已使用以下脚本将OCLint集成到我们的项目之一中。

source ~/.bash_profile
export PATH=$PATH:/usr/local/bin/

if [ -z "${SCHEME+x}" ]
then
export SCHEME="${PROJECT_NAME}"
fi

if [ -z "${WORKSPACE+x}" ]
then
export WORKSPACE="${PROJECT_NAME}.xcworkspace"
fi

cd "${SOURCE_ROOT}"

# Check if xctool and oclint are installed
if ! which -s xctool
then
echo 'error: xctool not found, install e.g. with homebrew'
exit 1
fi

if ! which -s oclint-json-compilation-database
then
echo 'error: OCLint not installed, install e.g. with homebrew cask'
exit 2
fi

# Cleanup before building
rm -f compile_commands.json
xctool -workspace "${WORKSPACE}" -scheme "${SCHEME}" clean > /dev/null

# Build and analyze
# OCLint Rule Index: http://docs.oclint.org/en/dev/rules/index.html
xctool -workspace "${WORKSPACE}" -scheme "${SCHEME}" -reporter json-compilation-database:compile_commands.json build
oclint-json-compilation-database -e Pods -- -max-priority-1=100000 -max-priority-2=100000 -max-priority-3=100000 \

# Final cleanup
rm -f compile_commands.json

尽管代码包含大量警告和错误,但它给出了“零”警告和“零”错误。

看来它与旧的XCodes可以正常工作,但不能与XCode 9.2一起工作。

谁能告诉我们在xcode 9.2中完美运行OCLint需要进行哪些更改?

我们期望在构建OCLint模式时xcode将显示警告。但是我们现在没有任何结果。

如果我们做错了事,请指导我们。

最佳答案

几天前,当我们使用oclint 0.11从xcode 8.2.1升级到xcode 9.2时,我们面临着类似的挑战
您可以尝试升级到oclint-0.13.1并重试一下,看看是否有帮助。

还有其他一些调整,但不确定是否适合?

https://github.com/oclint/oclint/issues/245
(搜索-fmodules和-gmodules的文本,并删除所有匹配项。)

https://github.com/oclint/oclint/issues/302
(设置CLANG_ENABLE_MODULE_DEBUGGING = NO)

关于ios - iOS:OCLint不适用于xcode 9.2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48581395/

10-09 21:59