“com.developer.application”是什么意思?

jrh*_*424 4 java plist macos

我正在 Mac 上为QuickCursor应用程序编辑 plist 文件。我想尝试将 Aquamacs 添加到可用的编辑应用程序列表中。在任何情况下,plist 中列出的所有其他编辑器都使用类似于com.developer.application. 例如:

BBEdit => com.barebones.bbedit
MacVim => org.vim.MacVim
Smultron => org.smultron.Smultron
Run Code Online (Sandbox Code Playgroud)

我注意到我的 Android 手机上的所有“进程”或“应用程序”都遵循类似的命名方案。那我到底怎么称呼这些东西呢?反向URI?

更符合我的目的,我如何找到任意 Mac 应用程序的“反向 URI”?(如果这是最简单的方法,我很乐意使用终端。)

请随意用更好的标签标记它,以便其他人将来可以找到它。

Dan*_*eck 7

这些包标识符唯一地标识一个应用程序。

苹果在这里解释了这些(对于仪表板小部件):

捆绑包的反向 Internet 域样式标识符。

如果您想在 Mac 上以编程方式访问这些,请参阅此处

Java 对具有相同的命名约定。

通常,包名称以组织的顶级域名开头,然后是组织的域,然后是以相反顺序列出的任何子域。然后,组织可以为其包选择特定名称。

这是您在 Android 系统上看到的内容。

这种格式的原因是域名唯一标识了一个组织或开发者,并且在组织内人们应该能够避免冲突。由于域名基于层次结构,因此以相同的方式表示这些标识符是有意义的:元素顺序相当随意,反向顺序也允许正确排序,因此所有com.apple.[etc]文件都被分组。

如何找出给定应用程序的包标识符

  1. 右键单击应用程序包(带有图标的东西)并选择Show Package Contents
  2. 打开Contents/Info.plist方式Property List Editor(Apple Developer Tools 的一部分)。您也可以尝试使用文本编辑器打开该文件,如果它不是以 开头bplist,您可以阅读它。
  3. CFBundleIdentifier在这个文件中寻找。接下来是你想要的。它看起来像这样:

<key>CFBundleIdentifier</key>
<string>com.culturedcode.things</string>

或这个:

CFBundleIdentifier = "com.macromates.textmate";