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是否被添加到项目中:- 找到
node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf文件 - 将其拖拽到Xcode的项目目录(比如Resources文件夹),勾选「Copy items if needed」和你的主应用target
- 验证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
相关产品推荐
相关产品推荐

