macos 未提供统一界面管理软件版本,但可通过 info.plist 和 spotlight 元数据(kmditemversion)快速获取;推荐依次使用菜单栏“关于”、访达“显示简介”、mdls 终端命令、系统报告四种方法查版本,并依安装渠道(app store/官网/命令行工具)对应更新机制。

macOS 本身不提供统一界面来集中管理所有软件的版本号,但系统底层已为每个应用预留了标准元数据字段(如 kMDItemVersion),配合原生工具和简单脚本,就能实现稳定、可复用的版本识别与自动化跟踪。
应用版本号从哪里来
绝大多数 macOS 应用在打包时会将版本信息写入 Info.plist 文件,系统索引服务(Spotlight)自动提取并存为元数据。终端命令 mdls 读取的就是这个索引值,不是临时计算的结果,因此响应快、一致性高。但注意:部分老旧应用、命令行工具(如 git、python)或未签名的开发版应用可能未声明该字段,mdls 就不会返回版本号。
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
四种可靠的手动查法(按推荐顺序)
- 菜单栏“关于”:最直接,适用于正在运行的 GUI 应用。点击左上角应用名 → “关于 [X]”,窗口中央显示的数字即为当前版本,含构建号(如 124.0.6367.207)
-
访达“显示简介”:适合未启动的应用。选中 .app →
Command + I→ 展开“通用”,“版本”字段即所求;同时可确认签名状态和安装路径 -
终端批量扫描:运行
mdls -name kMDItemVersion /Applications/*.app 2>/dev/null | grep -A1 kMDItemVersion,一次性列出所有 App 的版本字符串 - 系统报告集中浏览: → “关于本机” → “系统报告…” → 左侧选“软件” → 右侧“应用程序”列表,含名称、路径、版本、上次修改时间等
区分更新来源,避免漏更
版本号只是快照,是否需更新,取决于安装渠道:
- App Store 下载的应用:只通过 App Store 更新。打开 App Store → 点击头像 → “更新”页,有蓝色“更新”按钮即待更新;显示“打开”则为最新
- 官网下载的第三方应用:如 VS Code、Postman、Docker,更新逻辑完全独立。必须进各自菜单栏 → “检查更新”,或设置中启用自动检查。它们不会出现在 App Store 列表里,也无系统级提醒
-
命令行工具(Homebrew / npm / pyenv 管理的):用对应包管理器查,例如
brew outdated、nvm list-remote、pip list --outdated
用脚本做轻量自动化监控
不需要复杂平台,一个终端命令加文本比对就足够日常审计:
- 首次记录快照:
mdls -name kMDItemDisplayName -name kMDItemVersion /Applications/*.app > ~/Desktop/app_versions_baseline.txt - 过几天再运行同样命令生成新文件:
mdls -name kMDItemDisplayName -name kMDItemVersion /Applications/*.app > ~/Desktop/app_versions_now.txt - 对比差异:
diff ~/Desktop/app_versions_baseline.txt ~/Desktop/app_versions_now.txt,新增/变更的版本号一目了然 - 想连系统更新一起看?补一句:
softwareupdate --list,结果可合并进同一日志










