首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cocoapods集成项目与OCLint?

如何使用cocoapods集成项目与OCLint?
EN

Stack Overflow用户
提问于 2015-05-05 12:13:27
回答 1查看 1.2K关注 0票数 2

我可以在没有cocoapods的项目上构建项目和生成OCLint报告,但是当与cocoapods集成时,项目的构建是成功的,但是OCLint的构建会导致出现在cocoapods中的文件出现错误,而生成失败。

那么如何用OCLint使cocoapods的构建成功呢?

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-29 05:29:16

下面是我用来为cocoapods与OCLint集成项目生成html文件的脚本。

OCLINT_HOME是oclint下载文件夹的路径。我已将文件夹重命名为oclintrelease。

代码语言:javascript
复制
OCLINT_HOME=/Users/Dheeraj/Downloads/oclintrelease
export PATH=$OCLINT_HOME/bin:$PATH

hash oclint &> /dev/null
if [ $? -eq 1 ]; then
echo >&2 "oclint not found, analyzing stopped"
exit 1
fi

cd ${TARGET_TEMP_DIR}

if [ ! -f compile_commands.json ]; then
echo "[*] compile_commands.json not found, possibly clean was performed"
echo "Workspace Path : ${MY_WORKSPACE}"
echo "[*] starting xcodebuild to rebuild the project.."
# clean previous output

if [ -f xcodebuild.log ]; then
rm xcodebuild.log
echo "Oclint Clean performed"
fi

cd ${SRCROOT}

xcodebuild clean

#build xcodebuild.log
xcodebuild ONLY_ACTIVE_ARCH=NO -workspace ${PROJECT_NAME}.xcworkspace -scheme ${PROJECT_NAME} -configuration Debug clean build| tee ${TARGET_TEMP_DIR}/xcodebuild.log
#xcodebuild <options>| tee ${TARGET_TEMP_DIR}/xcodebuild.log

echo "[*] transforming xcodebuild.log into compile_commands.json..."
cd ${TARGET_TEMP_DIR}
#transform it into compile_commands.json
oclint-xcodebuild

fi

echo "[*] starting analyzing"
cd ${TARGET_TEMP_DIR}

oclint-json-compilation-database -e /Users/Dheeraj/Desktop/sampleCocoaPods/Pods/ -v oclint_args "-report-type html -o /Users/Dheeraj/NewHTMLREPORT.html" | sed 's/\(.*\.\m\{1,2\}:[0-9]*:[0-9]*:\)/\1 warning:/'

它将排除所有与Pods相关的文件。

如果您也想包含Pods文件,那么将脚本中的最后一行替换为:

代码语言:javascript
复制
oclint-json-compilation-database -v oclint_args "-report-type html -o /Users/Dheeraj/NewHTMLREPORT.html" | sed 's/\(.*\.\m\{1,2\}:[0-9]*:[0-9]*:\)/\1 warning:/'

备注:

  1. 请先尝试使用一个简短的示例应用程序,包括cocoapods,然后为示例应用程序生成报告,然后将脚本集成到实际的应用程序中,因为使用OCLint构建需要花费大量时间来生成报告。
  2. 始终清理应用程序,然后使用OCLint进行构建。

链接以供参考

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30052657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档