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

React Native运行iOS模拟器报错Unrecognized font family Segoe-Bold

可行解决步骤:

  • 检查字体文件的Target Membership配置
    打开Xcode找到四个Segoe系列字体文件,在右侧属性面板的「Target Membership」区域,确保你当前App的target已经被勾选,否则字体文件不会被打包进应用包。
  • 核对构建阶段的资源配置
    选中项目Target → 切换到「Build Phases」标签 → 展开「Copy Bundle Resources」,确认四个Segoe字体文件在资源列表中,不在的话手动点击+号添加。
  • 对齐文件夹类型和Info.plist路径配置
    如果你导入fonts文件夹到Xcode时选择的是「Create groups」(显示为黄色文件夹图标),Info.plist中直接写字体文件名即可,无需加fonts/前缀;如果选择的是「Create folder references」(显示为蓝色文件夹图标),才需要保留fonts/前缀,两种配置必须对应否则会找不到文件。
  • 全量清理缓存重新构建
    按顺序执行以下操作避免缓存干扰:
    1. 关闭所有运行中的iOS模拟器
    2. 删除项目下ios/build文件夹
    3. 执行命令cd ios && xcodebuild clean清理Xcode构建缓存
    4. 回到项目根目录重新安装依赖:rm -rf node_modules && npm install
    5. 重新执行启动命令npx react-native run-ios
  • 核对字体实际名称
    如果以上操作后依然报错,可以在iOS原生代码中添加调试逻辑打印所有已加载的字体,确认Segoe系列的实际PostScript名称是否和你RN代码中fontFamily属性写的完全一致,字体文件名和内部实际名称不匹配是非常常见的踩坑点。
// 调试用打印所有加载成功的字体
for (NSString *familyName in [UIFont familyNames]) {
    NSLog(@"Font Family: %@", familyName);
    for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
        NSLog(@"  Font Name: %@", fontName);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 09:39:03