Добавление пользовательского шрифта (Impact) в проект iOS не работает

Это тема, над которой, похоже, боролись многие другие. Я пытаюсь добавить шрифт Impact в свой проект iOS. Для этого я выполняю следующие шаги:
1. Добавляю файл Impact.ttf в свой проект.
2. Убедитесь, что файл Impact.ttf действительно добавлен в проект Target.
3. Установите флажок «Копировать пакет с ресурсами» на целевых этапах сборки и убедитесь, что файл Impact.ttf включен.
4. В My-Project-Name-Info.plist я добавил «Предоставленные шрифты by application" и установите Impact.ttf как элемент 0 в массиве.
5. Откройте файл шрифта с помощью Font Book и убедитесь, что я ссылаюсь на шрифт по правильному имени. В данном случае Impact — правильное название.

Я использовал следующий фрагмент кода, чтобы увидеть все доступные шрифты в проекте, и «Impact» не входит в их число:

for (NSString *family in [UIFont familyNames]) {
    NSLog(@"%@", family); 
    for (NSString *name in [UIFont fontNamesForFamilyName:family]) {
        NSLog(@"  %@", name);
    }
}

При проверке значения UIFont в следующем фрагменте я получаю ноль.

UIFont *impactFont = [UIFont fontWithName:@"Impact" size:36.0f]; 

Я четырежды проверил все варианты написания и прошел каждый шаг несколько раз. Я также использовал следующие ресурсы (и многие другие) для устранения проблемы.

Обратите внимание: если я открою файл Impact.ttf с книгой шрифтов, он скажет, что шрифт не установлен. Я нажимаю, чтобы установить шрифт, и получаю предупреждение о том, что установлены повторяющиеся шрифты Impact. Чтобы исправить это предупреждение, я нажимаю «Автоматически разрешать дубликаты», и шрифт отображается как установленный. Однако, если я снова открою файл, шрифт будет отображаться как не установленный.

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

Спасибо большое за помощь! Я знаю, что этот вопрос задавали несколько раз, но я чувствую, что исчерпал все ресурсы и ссылки здесь, на SO и на других сайтах.


person mafellows    schedule 21.08.2014    source источник
comment
Ваши шаги выглядят хорошо. Поскольку это звучит так, как будто вы уже достаточно тщательно проработали, я бы сделал новый проект, который просто проверяет, можете ли вы загрузить шрифт. Если это сработает, то, возможно, вы увидите, чем отличаются ваши проекты. Если это не так, вы можете опубликовать ссылку на пример проекта, и люди здесь могут взглянуть на него.   -  person Rob Bajorek    schedule 21.08.2014
comment
Я не думаю, что шрифт нужно устанавливать в вашей системе, чтобы он работал в вашем проекте. Если бы у вас было просветление по этому вопросу, я был бы рад извлечь из этого пользу :) Так как я борюсь с чем-то подобным. Что касается меня, чтобы это стоило, оно работало и просто перестало...   -  person MaxouMask    schedule 02.10.2014
comment
какие-либо обновления по этому поводу?   -  person Andre Cytryn    schedule 12.12.2014


Ответы (1)


Возможно, это не тот ответ, который вам нужен, но это решение, которое вы могли бы использовать, чтобы двигаться дальше. Это то, что я использую в своих проектах, просто и полезно https://github.com/deni2s/IBCustomFonts

Надеюсь, вы найдете лучшее решение!

person Sonia Casas    schedule 02.10.2014