代码实体
识别并比较 Swift、Objective-C 项目中的类、属性、方法、协议、扩展、枚举、结构体、宏和全局符号。
LOCAL-FIRST · iOS PROJECT ANALYSIS
从 Swift / Objective-C 代码实体,到资源、配置和依赖。Similarity Helper 在本地完成扫描与对比,让复用、合并和交付前检查有据可查。
项目路径和分析结果留在本地,不需要上传源码。
$ similarity-helper compare
› 项目A LegacyApp.xcodeproj
› 项目B NextApp.xcodeproj
report generated locally
按真实 HTML 报告的结构展示。每一行都直接列出比较类型、两边数量、相同数量、相同项列表和相似度。
原始报告中的相同项名称直接展开;仅本地绝对路径不公开。
本页直接列出原始报告中可公开展示的相同项名称;为保护隐私,不公开本地绝对路径。完整 HTML 报告仍保留路径对应关系。
适合二次处理、自动化归档或继续接入自己的分析流程。
适合确认工具实际处理了什么,以及报告文件何时生成。
两个 iOS 工程可能有不同的目录结构,却共享大量类、方法、资源名、布局节点或本地化文案。工具把这些信号拆开统计,帮助你从“看起来像”走向“知道哪里像”。
为代码复用评估、项目合并前检查、交付审查和历史工程梳理提供一份可留存的本地证据。
按内容类型拆分统计与匹配结果,避免用单一数字掩盖差异。具体参与项由配置文件控制。
识别并比较 Swift、Objective-C 项目中的类、属性、方法、协议、扩展、枚举、结构体、宏和全局符号。
从文件名、相对路径和内容 Hash 观察资源关系,同时覆盖图片、音频、视频、资源包与普通文件夹。
比较 Plist 键值、.strings / .xcstrings 本地化键值、布局文件名与节点属性,识别工程之间的结构线索。
查看系统库、Pods / Frameworks 等外部依赖目录,并通过排除规则过滤系统项、隐藏文件与无关目录。
工具通过交互式 CLI 获取两个项目路径和一份 JSON 配置,再将分析过程和结果写入本地输出目录。
选择需要比较的项目 A 与项目 B。工具会检查路径,并避免把同一个项目作为两侧输入。
使用现有 JSON 配置控制代码类型、排除目录、系统方法、资源类型和最小比较字符串长度。
完成扫描后生成 HTML 对比报告、JSON 数据文件与文本日志,可按类别继续复核相同项和路径。
cd SimilarityHelper && python3 start.py下面的摘要来自 2026 年 4 月 9 日的一次本地对比运行,展示两个 iOS 项目的规模、综合相似度与主要匹配维度。
● 仅展示脱敏摘要,不暴露项目绝对路径和完整明细。
查看完整对比项比较配置:compiler parser · 最小比较字符串长度 2 · 排除隐藏文件与系统规则名单。综合相似度采用报告中的 equal_mean 口径。
"exclude_dirs": ["Pods", "build"], "parser_strategy": "compiler", "ignore_hidden": true, "min_compare_string_length": 2, "output_dir": "output"
项目结构不同,比较重点也不同。通过 JSON 配置文件,你可以把排除项、代码类型、资源扩展名、系统规则和输出目录写成明确的分析前提。
如果你的问题涉及在线服务、账号或云端存储,那不是当前 CLI 的能力范围。这里先把现有工具能做什么讲明白。
不是。现有工具以本地 CLI 方式运行,项目路径、配置和分析结果都在本地处理,不需要把源码上传到网站。
支持 Swift、Objective-C 代码实体,以及资源文件、布局、图片、音频、视频、Plist、本地化文件、系统库和外部依赖等维度。
工具会在本地输出 HTML 对比报告、JSON 分析数据和文本日志,便于查看整体相似度、分类摘要、相同项明细与路径。
可以。配置支持排除目录、目录后缀、文件后缀、系统扩展 / 方法名单,以及隐藏文件、符号链接和最小比较字符串长度等规则。
从本地运行开始,按项目实际情况准备配置,再让结果告诉你相似度来自哪里。
如果你对工具的使用方式、报告结果或后续功能有建议,可以通过微信或邮箱联系开发者 Rollin。
邮箱联系rowliny@gmail.com扫码添加好友,备注 Similarity Helper。
