• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何在 OCLint 中使用 cocoapods 集成项目?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:09:30 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

enter image description here

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

任何帮助将不胜感激。



Best Answer-推荐答案


以下是我使用 OCLint 为 cocoapods 集成项目生成 html 文件的脚本。

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

OCLINT_HOME=/Users/Dheeraj/Downloads/oclintrelease
export PATH=$OCLINT_HOME/binPATH

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 文件,请将脚本中的最后一行替换为:

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 构建。

Link for reference

关于ios - 如何在 OCLint 中使用 cocoapods 集成项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30052657/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap