Вот хороший вопрос:
Имя пакета, имя исполняемого файла, имя продукта ... что-нибудь еще?
но мне просто интересно узнать о разнице между "отображаемым именем пакета" и "именем пакета" в информационном листе приложения какао.
Вот хороший вопрос:
Имя пакета, имя исполняемого файла, имя продукта ... что-нибудь еще?
но мне просто интересно узнать о разнице между "отображаемым именем пакета" и "именем пакета" в информационном листе приложения какао.
Ответы:
Я не думаю, что какой-либо другой ответ кратко отвечает на этот вопрос.
CFBundleDisplayName
- отображается: значок ниже . Согласно документам, должно быть локализовано, но только если локализовано само приложение, иначе будет какой-то штраф (если это правда, на самом деле я не могу сказать)
CFBundleName
- отображается: Понятия не имею . Документы предполагают, что он будет использоваться в списках, поэтому рекомендуется максимум 16 символов, но, например, Настройки → Общие → Список использования приложений CFBundleDisplayName
действительно используются . На сегодняшний день я так и не понял, где именно этот используется.
О, это для приложений iOS, не могу говорить о других ОС.
спасибо за ответ Wevah. вот описания для людей, которые перепутали с этими двумя константами.
CFBundleDisplayName
(String - iOS, Mac OS X) указывает отображаемое имя пакета. Если вы поддерживаете локализованные имена для своего пакета, включите этот ключ как в файл списка информационных свойств, так и в файлы InfoPlist.strings в подкаталогах вашего языка. Если вы локализуете этот ключ, вы также должны включить локализованную версию ключа CFBundleName.
Если вы не собираетесь локализовать пакет, не включайте этот ключ в файл Info.plist. Включение этого ключа не влияет на отображение имени пакета, но снижает производительность при поиске локализованных версий этого ключа.
Перед отображением локализованного имени для вашего пакета Finder сравнивает значение этого ключа с фактическим именем вашего пакета в файловой системе. Если два имени совпадают, Finder переходит к отображению локализованного имени из соответствующего файла InfoPlist.strings вашего пакета. Если имена не совпадают, Finder отображает имя файловой системы.
Для получения дополнительной информации об отображаемых именах в Mac OS X см. Обзор файловой системы.
CFBundleName
(Строка - iOS, Mac OS X) идентифицирует краткое имя пакета. Это имя должно быть менее 16 символов и подходить для отображения в строке меню и в информационном окне приложения. Вы можете включить этот ключ в файл InfoPlist.strings соответствующего подкаталога .lproj, чтобы предоставить ему локализованные значения. Если вы локализуете этот ключ, вы также должны включить ключCFBundleDisplayName.
Согласно Apple,
Отображаемое имя приложения
on the iPhone home screen
происходит из записи CFBundleDisplayName (или «Отображаемое имя пакета» в виде удобочитаемой строки в Xcode) в Info.plist вашего приложения iOS.Точно так же имя приложения, которое вы видите в своем
WatchKit app's launch screen
иnotifications
происходит от CFBundleDisplayName в Info.plist вашего приложения WatchKit.
The Apple Watch app on the iPhone
в настоящее время использует имя пакета (а не отображаемое имя пакета) вашего приложения iOS, которое указывается в записи CFBundleName (или "Bundle name") в его Info.plist
Вы можете увидеть другие связанные снимки экрана и получить дополнительную информацию на странице Apple Developer, нажав здесь .
Из моего опыта:
Только если отображаемое имя CFBundleDisplayName
пакета ( ) не указано, значение параметра Bundle Name ( CFBundleName
) будет использоваться для отображения под значком приложения.
Обратите внимание, что CFBundleDisplayName
это можно локализовать, и его следует использовать для установки имени приложения, отображаемого в меню iOS Springboard и приложениях Mac OS X / Mission Control.
Короче говоря, не трогать CFBundleName
и оставить его значение по умолчанию, то есть ${PRODUCT_NAME}
.