В отображаемом имени пакета отсутствуют пробелы

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

3 ответа

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

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

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

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

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

Я решил это с:

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

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

ОБНОВЛЕНО:

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

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

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

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

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

https://st ackru.com/images/3674f50e742f0411518cee8ae181a7454538d770.png

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

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