2013-07-03 9 views
0

Я использую собственный шрифт в своем приложении и столкнулся с очень странной проблемой. Шрифт доступен на симуляторе, но недоступен на реальном iPad.iOS. шрифт доступен на симуляторе, но не на устройстве

1 Я не путаю имя и имя шрифта. Имя файла: bitdust2.ttf, тогда как имя шрифта BitDustTwo, и так я называю это, и на симуляторе это нормально.

2 Это не вопрос чувствительности к регистру. Шрифт действительно недоступен на устройстве. Я знаю, что причина, когда я это сделать:

NSLog(@"%@", [UIFont familyNames]); 

я вижу, что на тренажере мой шрифт включен в familyNames массив, но не хватает на IPad. Что не так? Вы когда-нибудь сталкивались с такой проблемой?

+0

Не все шрифты, доступные на Mac, доступны на устройствах iOS. Почему вы удивлены? – Abizern

+0

Вы имеете в виду, что я не могу добавить определенные типы пользовательских шрифтов? –

+0

Проверьте устройство, какая версия iOS есть и в симуляторе, какая версия iOS существует, если устройство имеет более низкую версию iOS, а затем симулятор, тогда добавленный шрифт или функция не будут работать в более низкой версии iOS. – Gyanendra

ответ

4

(From above comment :) Убедитесь, что файл шрифта «bitdust2.ttf» добавлен в цель и скопирован в пакет приложений.

0

Проверьте версию ОС устройства, а также поддержку версий iOs. Пользовательский шрифт, который вы использовали, должен быть совместим с iOS вашего устройства.

Проверьте this ответ. Возможно, вам понадобится альтернативный пользовательский шрифт, если он не поддерживается.

-1

Вам необходимо встроить шрифт в приложение; Инструкции: here.

+0

Я сделал это конечно –

2

Симулятор, как под названием, симулятор, а не настоящий эмулятор. Симулятор запускает те же именованные API, но поскольку симулятор работает на OS X, а не на iOS, симулятор часто имеет больше функциональности. Например, классы медиаплеера на симуляторе поддерживают больше типов файлов (кодеков), чем на устройстве, потому что OS X поддерживает больше кодеков, чем iOS. На симуляторе у вас больше доступных шрифтов, чем на устройстве.

Вот более подробная информации о embedding fonts in an iOS app:

Существует простой способ использования пользовательских шрифтов в прошивке 4.

  1. Добавить файл шрифт (например, Chalkduster.ttf) в папку Resources проекта в XCode.
  2. Откройте info.plist и добавьте новый ключ под названием UIAppFonts. Тип этого ключа должен быть массивом.
  3. Добавьте собственное имя шрифта в этот массив, включая расширение (Chalkduster.ttf).
  4. Теперь вы можете использовать [UIFont fontWithName: @ "Chalkduster" размер: 16] в вашем приложении.

Важно не пропустить ни одного шага. Если у вас по-прежнему возникают проблемы, перейдите на вкладку «Сборка фаз» вашего проекта в XCode и на вкладке «Копировать ресурсы Bundle» убедитесь, что ваш файл шрифта включен. Если нет, добавьте его.

0

Я просто была такая же проблема, и после проверки все было правильно:

  • Шрифт добавляется соответствующий ключ в информации.PLIST «Шрифты, предусмотренные приложением»
  • шрифт добавлен в проект -> Информация под тем же ключом, что и info.plist (это просто означает, что я спас PLIST)
  • файл шрифта добавляется к проекту
  • шрифта файл находится в папке проекта
  • Project -> цель -> Build Phases -> Copy расслоение ресурсы: содержит мой файл шрифта
  • файл галочка для ассоциируется с мишенью

мне пришлось скачать файл снова и повторно добавить его .. когда id id имя файла было изменено ... так что я думаю, что файл .ttf был поврежден

Смежные вопросы