В отображаемом имени пакета отсутствуют пробелы
Когда я даю отображаемое имя 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 символов.
У меня такая же проблема. Только на iOS 11. На более низкой версии iOS эта проблема не появилась.
Я решил это с:
- Откройте info.plist как Исходный код (щелкните правой кнопкой мыши, откройте как...)
- Найти CFBundleDisplayName
- Заменить нормальное пространство на 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