无法将自定义字体添加到Xcode 14.2

lztngnrs  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(261)

基于instructions in Apple's docs和堆栈溢出的答案,我无法获得任何自定义字体。下面是我的设置,我希望工作:

1)将字体文件复制到项目中时:

2)将字体.ttf文件添加到项目中

3)已选择目标成员资格

4)字体名称添加到info.plist中的UIAppFonts

<key>UIAppFonts</key>
    <array>
        <String>SourceSerifPro-Black.ttf</String>
        <String>SourceSerifPro-BlackItalic.ttf</String>
        <String>SourceSerifPro-Bold.ttf</String>
        <String>SourceSerifPro-BoldItalic.ttf</String>
        <String>SourceSerifPro-ExtraLight.ttf</String>
        <String>SourceSerifPro-ExtraLightItalic.ttf</String>
        <String>SourceSerifPro-Italic.ttf</String>
        <String>SourceSerifPro-Light.ttf</String>
        <String>SourceSerifPro-LightItalic.ttf</String>
        <String>SourceSerifPro-Regular.ttf</String>
        <String>SourceSerifPro-SemiBold.ttf</String>
        <String>SourceSerifPro-SemiBoldItalic.ttf</String>
    </array>

5)字体显示在拷贝捆绑包资源下

6)记录所有系统字体,但未找到新字体

for family in UIFont.familyNames.sorted() {
    let names = UIFont.fontNames(forFamilyName: family)
    print("Family: \(family) Font names: \(names)")
}

7)尝试使用字体,但只能看到默认字体

Text("Test text")
  .font(.custom("SourceSerifPro-Regular", size: 20))

我还删除并重启了模拟器,重启了我的电脑和Xcode很多次。你知道我还遗漏了什么吗?

ar7v8xwq

ar7v8xwq1#

我遇到过类似的问题。在使用任何自定义字体之前,请尝试调用此函数一次。

private func registerCustomFonts() {
    let fonts = Bundle.main.urls(forResourcesWithExtension: "ttf", subdirectory: nil)
    fonts?.forEach { url in
        CTFontManagerRegisterFontsForURL(url as CFURL, .process, nil)
    }
}

相关问题