Пользовательские шрифты, работающие в приложении, но не работающие с виджетами

#ios #swift #swiftui #widget #widgetkit

#iOS #swift #swiftui #виджет #widgetkit

Вопрос:

Я работаю над приложением для виджетов. Я уже внедрил свои пользовательские шрифты в приложение, и оно работает нормально. Но на моих виджетах это вообще не работает. Оба файла info.plist содержат все мои шрифты в разделе «Шрифты, предоставляемые приложением», и я проверил этапы сборки -> Копировать ресурсы пакета для обеих целей, и все выглядит нормально. Также все целевые шрифты проверены в приложении и расширении. Я не смог найти никакого решения…

 Text("Hello, World!").foregroundColor(.white).font(.custom("Poppins-ExtraLight", size: 20))
  

Вот мои оба файла Info.plist, ресурсы и цели пакета копирования;

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Ответ №1:

Итак… Форматы файлов в widgets Info.plist были tff, а не ttf… Я изменил их, чтобы они работали хорошо.

Комментарии:

1. «ttf не tff»? Не могли бы вы уточнить, пожалуйста?

2. Расширения файлов, используемые в .tff списке, не соответствуют фактическому расширению файла в файлах шрифтов .ttf .

Ответ №2:

Что происходит, когда вы помещаете это где-нибудь в свои виджеты?

 for familyName in UIFont.familyNames {
    print("n-- (familyName) n")
    for fontName in UIFont.fontNames(forFamilyName: familyName) {
        print(fontName)
    }
}
  

Используете ли вы пользовательский шрифт в целевом приложении в контексте UIKit или SwiftUI?

Комментарии:

1. Этот код печатал шрифты на компьютере, но без моих пользовательских шрифтов. Я установил их на компьютер и сейчас, но по-прежнему не показываю и не печатаю свои шрифты. Я использую SwiftUI. Также добавлено несколько скриншотов

Ответ №3:

У меня было UIAppFonts только в моем обычном Info.plist . После добавления Info.plist в папку виджетов шрифты стали видны.