在Mac终端中可通过codesign、mdls或PlistBuddy命令快速获取App的Bundle ID:codesign读取entitlements中的CFBundleIdentifier;mdls提取kMDItemCFBundleIdentifier元数据;PlistBuddy直接解析Info.plist中的CFBundleIdentifier字段。

在Mac上通过终端快速获取任意已安装App的Bundle ID,无需打开Xcode或解压包,适用于排查签名问题、配置MDM策略或编写自动化脚本。
用codesign命令直接读取
打开终端,输入以下命令并回车:
codesign -d --entitlements :- /Applications/【App名称】.app
把【App名称】替换成实际应用名,例如 Safari、Slack 或 Microsoft Outlook;注意路径中不能有空格,若含空格需用反斜杠转义或用引号包裹路径。
命令执行后会输出一段XML格式的entitlements信息,其中【CFBundleIdentifier】字段值就是Bundle ID,它通常出现在第一行附近,形如 com.apple.Safari 或 com.microsoft.Outlook。
这一步操作起来很简单,直接把文件拖进去就行。
用mdls命令快速提取元数据
方法一:直接查询Bundle ID属性
mdls -name kMDItemCFBundleIdentifier /Applications/【App名称】.app
方法二:一次性列出所有关键标识信息
mdls -name kMDItemCFBundleIdentifier -name kMDItemVersion -name kMDItemDisplayName /Applications/【App名称】.app
输出结果中,kMDItemCFBundleIdentifier 后面的字符串即为Bundle ID。该命令依赖Spotlight索引,首次运行可能稍慢;若返回(null),说明该App尚未被索引,可先执行 mdimport /Applications/【App名称】.app 强制导入。
用PlistBuddy解析Info.plist
第一步:定位Info.plist路径
/Applications/【App名称】.app/Contents/Info.plist
第二步:执行读取命令
/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" "/Applications/【App名称】.app/Contents/Info.plist"
第三步:若提示文件不存在或权限拒绝,请确认App确实安装在/Applications目录下;部分从Mac App Store安装的应用可能位于~/Applications或被沙盒隔离,此时需改用全路径或切换到用户级应用目录。
这个方法最可靠,不依赖索引或签名状态,但要求路径准确且App未被损坏。如果Info.plist被篡改或缺失CFBundleIdentifier字段,命令会报错并退出。

















