Отображаемое имя пула не содержит пробелов

Когда я даю отображаемое имя Bundle с пробелом как "A B C D", я получаю имя приложения как "ABCD". Это происходит только на iOS 11.I попытался переопределить имя "CFBundleDisplayName" в моей InfoPlist.string и использовать специальный символ Unicode\U00A0 (без пробела), и это мне не помогает.

Ответ 1

У меня такая же проблема. Только на iOS 11. В более низкой версии iOS эта проблема не появляется.

Я решил это с помощью

  • Откройте info.plist как исходный код (щелкните правой кнопкой мыши, откройте как...)
  • Найти CFBundleDisplayName
  • Заменить нормальное пространство на unicode  

Это все. После этого отображаемое имя отображается с пробелом.

ОБНОВЛЕНО:

  работает только при вводе *.plist. Невозможно вставить в Display name в настройках проекта Xcode;

Ответ 2

Это связано с тем, что Apple внесла изменения в iOS 11 для сокращения длинных имен приложений. Если имя длиннее 12 символов, пробелы будут удалены. Иначе они все еще будут существовать.

Например, Guide book app Guidebookapp станет " Guidebookapp, а Gui boo app останется Gui boo app Gui boo app.

Использование   (FIGURE SPACE) работает, потому что это не пространство ascii. Я не решусь использовать это как решение, потому что кажется разумным, что Apple "исправит" эту ошибку и удалит   для приложений с именами длиннее 12 символов.

https://forums.developer.apple.com/thread/77832

Ответ 3

Измените info.plist как исходный код, но используйте   вместо  .   выглядит как 2 пробела.

Ответ 4

Это работает для меня, когда я заменяю пространство на FIGURE SPACE в InfoPlist.strings вручную или с помощью скрипта.

Ответ 5

Дайте больше места в отображаемом имени пакета, например abc def abcdef enter image description here

Ответ 6

В моем случае это значение отсутствовало в файле info.plist, поэтому я просто добавляю следующее:

<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>

should look like this