Что делает приложение уникальным из POV параметров -> назначить на рабочий стол?

0

Что такое набор вещей, которые отличают одно приложение от другого с точки зрения щелчка правой кнопкой мыши на значке дока - & gt; Параметры - & gt; Назначить (Все рабочие столы / Этот рабочий стол / Нет)?

Я экспериментировал и не смог найти комбинацию действительного двоичного имени / значений Info.plist / строки PkgInfo, из-за которой рабочие пространства Mac OS X будут думать, что дублированное приложение отличается от оригинала в целях автоматического назначения рабочего стола.

Daniel J Clark
источник

Ответы:

-1

Нашел его, просто оставив здесь, чтобы другим было проще найти ответы через Google. Увидеть:

В частности, вам нужно позаботиться о CFBundleIdentifier в файле Contents / Info.plist приложения. Вот часть скрипта, которая может быть полезна:

  # Change Bundle ID so desktop assignation works. Not sure if this will survive updates.
  # CFBundleIdentifier must contain only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
  # (Based on fiddling around there also seems to be a length limit.)
  UUID="$(echo $APP | md5sum | awk '{print $1}' | tr [0-9] [A-Z] | cut -c 1-4,29-32)"
  plutil -replace CFBundleIdentifier -string "cdi.$UUID" -- "$RUNTIMES/$APP/Contents/Info.plist"
  #plutil -replace CFBundleName -string "$APP" -- "$RUNTIMES/$APP/Contents/Info.plist"
  #plutil -replace CFBundleDisplayName -string "$APP" -- "$RUNTIMES/$APP/Contents/Info.plist"
  # To check: defaults read ~/Library/Preferences/com.apple.spaces.plist app-bindings

Чтобы увидеть это в каком-то контексте, посмотрите мой ответ на этот вопрос: Есть ли простой способ иметь отдельные иконки для разных профилей Chrome?

Daniel J Clark
источник
OTOH, хотя ссылки на страницах дают некоторые подсказки о том, как решить проблему, указанную в вопросе, они на самом деле не объясняют как решить это. Вы можете добавить это к своему ответу?
nohillside
Обновленный ответ @patrix надеюсь, что этого достаточно. В любом случае, это все, что я знаю :-)
Daniel J Clark