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

React Native Vector Icons仅iOS端出现Unrecognized font-family 'material'问题求助

解决React Native iOS端Material Icons报错「material」的问题

针对React Native ~0.63.4 + react-native-vector-icons ^9.2.0环境下,仅Material Icons无法正常显示且报错「material」的情况,可尝试以下针对性修复步骤:

  • 确认字体文件已正确导入Xcode项目
    手动检查MaterialIcons.ttf是否被添加到项目中:

    1. 找到node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf文件
    2. 将其拖拽到Xcode的项目目录(比如Resources文件夹),勾选「Copy items if needed」和你的主应用target
    3. 验证Xcode的Build Phases > Copy Bundle Resources中是否存在该字体文件
  • 核对Info.plist的字体声明
    确保Info.plist内的UIAppFonts数组包含完全正确的字体文件名:

    <key>UIAppFonts</key>
    <array>
      <string>MaterialIcons.ttf</string>
      <!-- 其他字体声明 -->
    </array>
    

    注意拼写不能有误,不要写成material-icons.ttf或其他变体。

  • 彻底清理iOS构建缓存
    执行以下命令重置iOS构建环境:

    cd ios
    pod deintegrate
    rm -rf Podfile.lock build
    pod install
    

    同时在Xcode中执行Product > Clean Build Folder(快捷键Cmd+Shift+K),之后重新运行项目。

  • 验证自动链接配置
    检查ios/Podfile是否包含react-native-vector-icons的链接配置:

    pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'
    

    如果缺失,手动添加后重新执行pod install。

  • 手动指定字体族
    临时打印MaterialIcons的字体族名称,确认是否存在异常:

    import MaterialIcons from "react-native-vector-icons/MaterialIcons";
    console.log(MaterialIcons.fontFamily);
    

    如果输出不是MaterialIcons,则在组件中手动指定fontFamily属性:

    <MaterialIcons
      fontFamily="MaterialIcons"
      resizeMode={"contain"}
      size={20}
      name={"favorite-border"}
      color={"#3C093C"}
    />
    
  • 排查字体冲突
    检查Xcode的Build Phases > Copy Bundle Resources中是否存在重复的字体文件,或其他依赖引入了名为「material」的字体,导致命名冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:55:30