Название упаковки и название упаковки

Был задан вопрос о названии Bundle Name и Bundle Display Name, например:

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

но до сих пор я не читал очень хороший краткий ответ, когда вам нужно использовать их оба, когда они могут быть заданы по-разному и т.д.

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

Может ли кто-то очистить эти проблемы раз и навсегда?

Документация Apple

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

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

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

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

Ответ 1

CFBundleDisplayName предназначен для изменения текста под значком приложения на вашем устройстве (и симуляторе). Да, это должно быть локализовано, но нет ощутимого штрафа в производительности, чтобы его редактировать или заставить говорить, что бы вы ни пожелали.

Чтобы изменить это, вы можете изменить "Отображаемое имя Bundle в разделе" info "в проекте:

Location of the Bundle display name attribute

CFBundleName не является ключом. Я не могу понять, что это изменит или почему.

Ответ 2

Я только что нашел этот документ в библиотеке Apple iOS Dev: Создание имени приложения на устройстве, соответствующее имени в iTunes Connect. имя немного вводит в заблуждение, но это помогло мне разобраться в разнице между именем "Bundle name" и "Bundle display name" в одно мгновение.

Надеюсь, это тоже поможет вам.:)