Что означает “com.developer.application”?

Я редактирую plist файл на своем Mac для приложения QuickCursor. Я хотел бы попытаться добавить Aquamacs к списку доступных приложений редактирования. В любом случае всех других редакторов, перечисленных в plist, вызывают с чем-то, что похоже com.developer.application. Например:

BBEdit => com.barebones.bbedit
MacVim => org.vim.MacVim
Smultron => org.smultron.Smultron

Я заметил все "процессы", или "приложения" на моем телефоне на базе Android следуют подобной схеме именования. Таким образом, какого черта я называю те вещи? Обратный URI?

И больше к моей цели, как я нахожу "обратный URI" для какого-либо произвольного приложения Mac? (Я спокоен с использованием терминала, если это - самый легкий путь.)

Не стесняйтесь отмечать это с лучшими тегами, таким образом, другие могут найти его в будущем.

4
задан 18.10.2010, 16:57

4 ответа

Эти идентификаторы пакета однозначно определяют приложение.

Apple объясняет их (для виджетов Панели инструментов) здесь:

Обратный Интернет-домен разрабатывает идентификатор для пакета.

Если Вы хотите получить доступ к ним программно на Mac, посмотрите здесь.

Java имеет то же соглашение о присвоении имен для пакетов.

В целом имя пакета начинается с высокоуровневого доменного имени организации и затем домена организации и затем любых субдоменов, перечисленных в обратном порядке. Организация может затем выбрать собственное имя для их пакета.

Это - то, что Вы видите в своей системе Android.

Причина этого формата состоит в том, что доменное имя однозначно определяет организацию или разработчика, и в организации люди должны смочь избежать конфликтов. Так как Доменные имена основаны на иерархии, представляя эти идентификаторы, тот же путь имеет смысл: порядок элемента является довольно произвольным, и обратным порядком, также допускает надлежащую сортировку, так, чтобы все com.apple.[etc] файлы сгруппированы.

Как узнать идентификатор пакета для данного приложения:

  1. Щелкните правой кнопкой по комплекту приложений (вещь со значком) и выбор Show Package Contents.
  2. Открытый Contents/Info.plist с Property List Editor (часть Инструментов Разработчика Apple). Можно также попытаться открыть файл с текстовым редактором, если он не запускается с bplist, можно считать его.
  3. Искать CFBundleIdentifier в этом файле. То, что следует, - то, что Вы хотите. Это выглядит примерно так:

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

или это:

CFBundleIdentifier = "com.macromates.textmate";

7
ответ дан 07.12.2019, 19:09

Можно быть игривыми с этим и попробовать, например, org.quickcursor.QuickCursor или другие изменения, пока Вы не разбираетесь в нем. org.hogbay.QuickCursor другая возможность. К сожалению, у меня нет Mac для проигрывания с (за меня, вероятно, вниз проголосуют за это!).

4
ответ дан 07.12.2019, 19:09

Я видел, что это назвало обратное доменное именование, но идея является тем же. Для предотвращения конфликтов полезно, если все используют систему, необходимую на доменных именах, они управляют так, чтобы не было никакого шанса коллизии имени через поставщиков. Это чрезвычайно распространено с пакетами Java, который является, почему Вы видите все это время в Android.

3
ответ дан 07.12.2019, 19:09

То, что Вы видите, является идентификатором пакета приложения. Они требуются, чтобы быть способом уникальной, и Apple осуществить, который должен был использовать обратную-DN нотацию. Тем путем редакторы используют свое доменное имя для однозначного определения их приложений, и никакое столкновение имени не должно логически возникать.

Идентификатор пакета используется Mac OS для определения местоположения программы везде, где это находится в системе. Один способ найти идентификатор пакета программы путем осмотра ее списка свойств (могли бы быть менее сложные опции, но я действительно не знаю их).

2
ответ дан 07.12.2019, 19:09

Теги

Похожие вопросы