1. 准备目录与项目
将仓库或发行包放在本地,确认可以看到 start.py。两个待比较的 iOS / Xcode 项目可以是不同目录,也可以是不同版本的同一项目。
cd /path/to/SimilarityHelper
python3 start.py
python3 start.py
启动后按照 CLI 提示选择项目 A、项目 B 和配置文件。网站首页的“复制本地运行命令”使用的也是这一入口。
2. 选择或准备配置
配置决定哪些文件类型和比较规则参与分析。仓库中已有简单配置和完整配置示例;实际使用时可以从现有 JSON 开始,再按项目情况调整。
{
"exclude_dirs": ["Frameworks", "Demo"],
"Pod_and_Framework_dirs": []
}
常见配置项包括:
- 解析策略:报告示例使用 compiler parser。
- 代码类型:可以覆盖 .h、.m、.mm、.pch、.swift。
- 资源类型:包括布局、图片、音频和视频扩展名。
- 排除规则:可以排除 Pods、build、DerivedData 等目录,是否忽略隐藏文件也可以配置。
- 字符串阈值:min_compare_string_length 控制参与字符串比较的最小长度。
3. 读取输出
运行完成后,工具会在配置指定的输出目录写出报告。默认配置使用 output,具体文件名会包含生成时间和项目名称。
| 输出 | 适合做什么 | 重点内容 |
|---|---|---|
| HTML | 浏览器直接阅读 | 分类摘要、两边数量、相同数量、相同项列表、相似度和路径关系。 |
| JSON | 自动化和归档 | 整体相似度、代码对比、资源对比和结构化字段。 |
| LOG | 过程复核 | 扫描、解析、比较、写出各阶段和时间。 |
4. 本地处理与隐私
当前工具不是在线上传服务。项目路径、配置和分析结果在本地处理;公开网站只提供产品说明和脱敏的真实报告摘要,不接收你的项目源码。
建议:对外分享报告前,检查是否包含项目绝对路径、内部域名或不适合公开的匹配字符串。网站公开示例已经移除了本机绝对路径。