iOS: OCLint не работает с xcode 9.2

Мы интегрировали 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.

Может кто-нибудь сказать нам, какие изменения необходимы для идеального запуска OCLint в xcode 9.2?

Мы ожидаем, что xcode покажет предупреждения при создании схемы OCLint. Но мы не получаем никакого результата сейчас.

Пожалуйста, направляйте нас, если мы делаем что-то не так.

1 ответ

Мы столкнулись с подобной проблемой несколько дней назад, когда мы обновили xcode 8.2.1 до xcode 9.2 с oclint 0.11. Можете ли вы попробовать обновить 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)

Другие вопросы по тегам