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

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

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

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

7 ответов

Решение

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

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

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

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

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

CFBundleDisplayName

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

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

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

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


CFBundleName

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 (или "имя пакета") его Info.plist

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

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

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

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

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

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

Обратите внимание, что имя пакета также используется как префикс для пользовательского агента HTTP.

CFBundleName также используется в системных всплывающих окнах, таких как утверждение служб веб-аутентификации.

Другие вопросы по тегам