2012-03-12 2 views
10
было предложено

Похожий вопрос о расслоении Имя и Bundle Отображаемое имя, например:Bundle Имя и Bundle Display Name

What's the difference between "bundle display name" and "bundle name" in cocoa application's info plist

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

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

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

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

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

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

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

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

+0

Хороший вопрос, и хорошие новости Bundle Отображаемое имя будет редактировать текст под значком и имя Bundle ничего не повредит (насколько я могу сказать !) –

+0

Мы эти два вопроса не помогаем? http://stackoverflow.com/questions/19337639/how-do-i-change-the-display-name-in-xcode-5 http://stackoverflow.com/questions/9667582/bundle-name-and-bundle-display-name – amahfouz

+0

Я думаю, что абзацы, которые вы скопировали из документации Apple, очень ясно, что вам нужно только CFBundleName, если вы не планируете предоставлять локализованные строки в этом случае (и только в этом случае) вам нужно также предоставить имя CFBundleDisplayName. – ukayer

ответ

10

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

Чтобы изменить это, вы можете изменить «Bundle отображаемое имя в разделе„Информация“в проекте:.

Location of the Bundle display name attribute

CFBundleName Понятия не имею, я не могу понять, что это изменяет или Зачем.

+1

** CFBundleName ** - это то, что отображается в строке меню и в окне информации приложения. – Jimi

4

Я только что нашел этот документ в библиотеке яблок iOS Dev: Making the app name displayed on a device consistent with the name in iTunes Connect. Название немного вводит в заблуждение, но это помогло мне разобраться в различии между именем «Bundle name» и «Bundle display name» в одно мгновение.

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