You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift项目中Myriad Pro Regular字体生效仍报找不到警告的求助

解决自定义字体警告问题的几个建议

我来给你梳理几个可行的排查方向,试试这些步骤:

  • 确认字体的准确内部名称
    你打印出来的Optional("MyriadPro-Regular")可能和系统识别的字体内部名称不匹配。很多字体的文件名和内部注册名是不一样的,比如Myriad Pro的内部名可能存在格式差异。你可以运行这段代码遍历所有可用字体,精准找到对应的名称:

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

    搜索输出里的“Myriad”相关条目,找到正确的字体名后,替换代码里的引用名称。

  • 检查字体导入的配置细节

    • 确保字体文件(.otf/.ttf)已经添加到项目,并且在Target Membership里勾选了你的应用target;
    • 打开Info.plist,查看Fonts provided by application(对应键UIAppFonts)的条目,确认每个条目都是字体文件的完整文件名(含扩展名),拼写和大小写必须完全匹配,系统对这个是敏感的;
    • 如果用Asset Catalog管理字体,检查Asset里的字体设置,Font Name要和刚才找到的内部名一致,且Asset已关联到target。
  • 排查新警告的来源
    你启用新设置后出现了新警告,大概率是配置冲突导致的。建议先恢复到之前的设置,先解决原有的“字体找不到”警告,再逐步调整配置。比如如果Info.plist已经配置了字体,就不要在项目设置里重复勾选字体相关选项,避免重复注册。

  • 彻底清理缓存
    除了常规的清理项目(Cmd+Shift+K),还要:

    • 删除Derived Data:打开Xcode的Settings -> Locations,找到Derived Data的路径,打开文件夹后删除对应项目的文件夹;
    • 卸载设备/模拟器上的应用,重新编译运行,避免旧的字体缓存残留。
  • 真机测试验证
    有时候模拟器的字体缓存机制和真机有差异,建议在真机上测试,确认警告是否依然存在,排除模拟器的特殊情况。

内容的提问来源于stack exchange,提问作者user2586851

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:24:23