В чем разница между "отображаемым именем пакета" и "именем пакета" в информационном листе приложения какао - PullRequest
114 голосов
/ 12 августа 2010

Вот хороший вопрос:

Имя пакета, Имя исполняемого файла, Имя продукта ... что-нибудь еще?

но мне просто интересно узнать разницу между "отображаемым именем пакета" и "именем пакета" в информационном листе приложения какао.

Ответы [ 5 ]

95 голосов
/ 15 марта 2013

Не думаю, что какой-либо другой ответ кратко отвечает на вопрос.

  • CFBundleDisplayName - отображается: под значком .Согласно документации, должны быть локализованы, но только если само приложение локализовано, иначе будет какое-то наказание (если это действительно так, я не могу сказать)

  • CFBundleName - отображается: Понятия не имею .Документы предполагают, что он будет использоваться в списках, поэтому рекомендуется использовать не более 16 символов, но, например, Настройки → Общие → Список использования приложений действительно используют CFBundleDisplayName.На сегодняшний день я никогда не выяснял, где именно используется это.

О, это для приложений iOS, не могу говорить о других ОС.

83 голосов
/ 12 августа 2010

спасибо за ответ Вевы.Вот описания для людей, которые перепутали эти две константы.

CFBundleDisplayName

CFBundleDisplayName (String - iOS, Mac OS X) задает отображаемое имя пакета.Если вы поддерживаете локализованные имена для своего пакета, включите этот ключ как в свой файл списка информационных свойств, так и в файлы InfoPlist.strings ваших языковых подкаталогов.Если вы локализуете этот ключ, вам также следует включить локализованную версию ключа CFBundleName.

Если вы не собираетесь локализовать свой пакет, не включайте этот ключ в файл Info.plist.Включение этого ключа не влияет на отображение имени пакета, но влечет за собой снижение производительности при поиске локализованных версий этого ключа.

Перед отображением локализованного имени для вашего пакета Finder сравнивает значение этогоключ против фактического имени вашего пакета в файловой системе.Если два имени совпадают, Finder продолжает отображать локализованное имя из соответствующего файла InfoPlist.strings вашего пакета.Если имена не совпадают, Finder отображает имя файловой системы.

Для получения дополнительной информации об отображаемых именах в Mac OS X см. Обзор файловой системы.


CFBundleName

CFBundleName (Строка - iOS, Mac OS X) идентифицирует короткое имя пакета.Это имя должно быть длиной менее 16 символов и должно подходить для отображения в строке меню и окне информации приложения.Вы можете включить этот ключ в файл InfoPlist.strings соответствующего подкаталога .lproj, чтобы предоставить для него локализованные значения.Если вы локализуете этот ключ, вы должны также включить ключ CFBundleDisplayName.

24 голосов
/ 23 января 2016

a busy cat

По данным Apple,

Отображаемое имя пакета:

Отображаемое имя приложения on the iPhone home screen происходит от CFBundleDisplayName (или «отображаемое имя пакета» как удобочитаемый человеком строка в Xcode) запись Info.plist вашего приложения для iOS

Аналогично, название приложения, которое вы видите в своем WatchKit app's launch screen notifications исходит из CFBundleDisplayName вашего WatchKit Info.plist приложения

Имя пакета:

The Apple Watch app on the iPhone в настоящее время используется имя пакета (не отображаемое имя пакета) вашего приложения iOS, которое указывается Запись CFBundleName (или «Имя пакета») его Info.plist

Вы можете увидеть другие похожие скриншоты и получить дополнительную информацию на странице Apple Developer, нажав , щелкнув здесь .

14 голосов
/ 25 июня 2014

Из моего опыта:

  • CFBundleDisplayName используется в сетке приложений на устройствах iOS
  • CFBundleName используется в списке приложений, хранящихся в библиотеке iTunes
9 голосов
/ 20 октября 2014

Только если отображаемое имя пакета (CFBundleDisplayName) не указано, значение имени пакета (CFBundleName) будет использоваться для отображения под значком приложения.

Обратите внимание, что CFBundleDisplayName является локализуемым,и его следует использовать, чтобы задать имя приложения, отображаемое в меню iOS Springboard и приложениях Mac OS X / Mission Control.

Короче, не трогайте CFBundleName и оставьте его значение по умолчанию, т.е. ${PRODUCT_NAME}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...