Вопрос или проблема
GSFont: файл не существует – “file:///Users/mustafa/Library/Developer/CoreSimulator/Devices/5E0D01BB-2D53-49B6-87B7-05169E341EF0/data/Containers/Bundle/Application/5373AEE7-9568-40D4-9291-27DB4ED0DC21/SewerageDepartmentEmployees.app/Bahij-Regular.ttf”
Я пытаюсь использовать пользовательский шрифт в своем приложении, но постоянно сталкиваюсь с ошибкой в ‘Debug Area || App Inspection’. Я работаю с UIKit, но пользовательский шрифт не появляется в инспекторе атрибутов.
Примечание: Я добавил пользовательский шрифт в проект, следуя стандартным шагам, включая добавление его в файл Info.plist.
// MARK: - Используйте это, чтобы отобразить все реальные названия семейства шрифтов
func printFontsFamilyNames (){
for familyName in UIFont.familyNames {
print(familyName)
for fontName in UIFont.fontNames(forFamilyName: familyName){
print("_____\(fontName)")
}
}
/**
Bahij Janna
_____BahijJanna
_____BahijJanna-Bold
*/
}
Ответ или решение
Ошибка GSFont: файл не существует в Xcode 16.0
При работе с кастомными шрифтами в Xcode 16.0, разработчики иногда сталкиваются с ошибкой GSFont: file doesn't exist -
, которая может вызывать большие затруднения. В вашем случае это ошибка связана с отсутствием шрифта по указанному пути:
file:///Users/mustafa/Library/Developer/CoreSimulator/Devices/5E0D01BB-2D53-49B6-87B7-05169E341EF0/data/Containers/Bundle/Application/5373AEE7-9568-40D4-9291-27DB4ED0DC21/SewerageDepartmentEmployees.app/Bahij-Regular.ttf
Общая информация
Вы упомянули, что добавили кастомный шрифт в проект, следуя стандартным шагам, включая его добавление в Info.plist
. Это хороший первый шаг, однако существуют несколько других факторов, которые могут привести к данной проблеме. Давайте рассмотрим возможные решения и необходимые проверки.
Проверка шага 1: Правильное добавление шрифта
-
Добавление шрифта в проект:
- Убедитесь, что файл шрифта (
.ttf
или.otf
) действительно добавлен в ваш проект. Проверьте, что он находится в разделе «Copy Bundle Resources» в настройках сборки вашего таргета. - Проверьте, что атрибут "Target Membership" вашего шрифта установлен, чтобы он включался в сборку.
- Убедитесь, что файл шрифта (
-
Правильность указания шрифта в Info.plist:
- Убедитесь, что имя шрифта указано корректно в ключе
Fonts provided by application
. Имя должно совпадать с фактическим именем файла шрифта, без расширения. Например, если шрифт называетсяBahij-Regular.ttf
, то вInfo.plist
оно должно быть указано какBahij-Regular
.
- Убедитесь, что имя шрифта указано корректно в ключе
Проверка шага 2: Корректная установка кастомного шрифта
- Проверка доступных шрифтов:
- Используя функцию
printFontsFamilyNames
, вы можете вывести список всех доступных семейств шрифтов и их имен. Убедитесь, что кастомный шрифт присутствует в этом списке:func printFontsFamilyNames() { for familyName in UIFont.familyNames { print(familyName) for fontName in UIFont.fontNames(forFamilyName: familyName){ print("_____\(fontName)") } } }
- Используя функцию
Проверка шага 3: Очистка и перезагрузка
- Очистка сборки и перезагрузка симулятора:
- Иногда, даже после того, как все настройки верны, Xcode может не отобразить кастомные шрифты из-за кэша. В этом случае попробуйте выполнить полную очистку сборки с помощью
Cmd + Shift + K
, а затем пересоберите проект. - Закройте и перезапустите симулятор или свое устройство для сброса кэша.
- Иногда, даже после того, как все настройки верны, Xcode может не отобразить кастомные шрифты из-за кэша. В этом случае попробуйте выполнить полную очистку сборки с помощью
Дополнительные рекомендации
-
Проверка формата шрифта:
- Убедитесь, что используемый формат шрифта поддерживается iOS. Форматы .ttf и .otf обычно работают хорошо, но на практике могут быть исключения.
-
Права доступа и целостность файлов:
- Проверьте права доступа к файлам шрифтов. Иногда проблемы могут возникать из-за неправильно настроенных разрешений на уровень системы.
-
Пересоздание проекта или папки:
- Если ни одно из вышеуказанных решений не помогло, попробуйте создать новый проект и добавить шрифт туда, чтобы определить, возникла ли проблема только в данном проекте.
Заключение
Ошибки, связанные с кастомными шрифтами в Xcode, могут быть сложными, но с правильным подходом и вниманием к деталям их можно решить. Проверьте все вышеперечисленные шаги и убедитесь, что кастомный шрифт правильно сконфигурирован и доступен для использования в вашем приложении. Если проблема сохраняется, стоит обратиться к официальной документации Apple для получения дополнительной помощи.