赞助登录提交

← 全部工具

Info.plist 解读工具

粘贴你的 Info.plist,或 plutil -p 打印的内容。它就在本页面上读取,不会发送到任何地方。

Info.plist 解读工具

试试示例:

功能

每个 Mac 应用的 Contents 里都有一个 Info.plist。它是个小小的设置文件,告诉 macOS 应用的名称、bundle ID、版本、能运行的最低 macOS、分类、有没有 Dock 图标,以及应用请求使用摄像头、麦克风或控制其他应用时 macOS 显示的说明。这个工具读取你粘贴的文件,用平实的话说明每个键的作用。它先列出会让应用、更新或审核出问题的键,再列出值得再看一眼的,最后是普通的。

要运行的命令

plutil -p YourApp.app/Contents/Info.plist
plutil -lint YourApp.app/Contents/Info.plist

第一个命令会把文件以可以粘贴到这里的形式打印出来,即使它是以二进制保存的。第二个命令检查文件是否有效。在你的 Xcode 项目里,这个文件里常有 $(MARKETING_VERSION) 这样的内容,由 Xcode 在构建时填入。想看真实的值,请检查已构建应用里面的那份副本。

每种结果的含义

标记含义
修复有键缺失或为空,会导致应用、更新或 App Review 出问题,比如没有构建号,或者权限说明为空。
外观它能用,但在 App Review 里可能会被问到,或让人困惑,比如含糊的权限说明,或者到处都允许普通 http。
正常按 Apple 文档的描述设置。
注意值得了解的内容,比如 Xcode 在构建应用时添加的内容。

来源:Apple Developer, Information Property List、Protected resources、LSApplicationCategoryType、NSAppTransportSecurity 和 Sparkle 文档,均于 2026年11月9日 阅读。

运作方式

它是在本页面上运行的几条纯文本规则。它读取 Info.plist 的 XML,或者 plutil -p 输出的最上层内容。它认识 80 个常见的键和权限说明,其余的会标为不在它的列表里,而不是瞎猜。它无法判断你的应用是否真的使用摄像头或麦克风,也无法判断应用做的某件事是否缺少权限说明:macOS 会拦下没有说明就发出请求的应用,所以每个功能都要测试一遍。你粘贴的内容不会被保存或发送。

问题

Mac 上的 Info.plist 是什么?

每个应用里都有的一个设置文件,位于 Contents/Info.plist。里面有应用的名称、bundle ID、版本、最低 macOS、分类,以及应用请求权限时 macOS 显示的说明。

怎么读取应用的 Info.plist?

在“终端”里运行 plutil -p,后面跟上 Contents/Info.plist 的路径。即使文件是以二进制保存的,它也会以纯文本打印出来。

CFBundleVersion 和 CFBundleShortVersionString 有什么区别?

CFBundleShortVersionString 是用户看到的版本。CFBundleVersion 是构建号,macOS、Mac App Store 和 Sparkle 用它比较哪个副本更新。例如 2.1

为什么我的 Mac 应用在请求使用摄像头时崩溃?

应用在 Info.plist 里没有对应的用途说明,却请求使用摄像头、麦克风或其他隐私数据,macOS 会拦下这个应用。请添加 NSCameraUsageDescription,并写明清楚的理由。

我粘贴的内容会被发送到别处吗?

不会。文字只在本页面读取,不会发送或保存。

相关内容