我们知道无论是 iOS 还是 macOS 上的应用,其配置信息都是通过 plist 文件组织的,该应用的 BundleID 就藏在这个文件中,通过读取 plist 文件就能够知道其 Bundle ID 以及应用版本号等信息。我们以 App Store.app 为例,其 plist 文件就存储在如下路径,其他应用也是如此。

App Store in Alfred

打开该 plist 文件就能找到该应用的配置信息。如下图所示。

plist text

大家知道 plist 本质上是 XML 格式的文件,我们需要找到键为 CFBundleIdentifier 的值,在上图中是 51 行, 52 行为其值,为 com.apple.AppStore.

知道了原理,就好办多了,macOS 内置有 plist 的工具 PlistBuddy,我们输入 plist 文件的路径,抽取某个 Key 的值就行。

PlistBuddy

详细的 PlistBuddy 描述可以看下 What is PlistBuddy?