无法识别的字体家族离子

时间:2016-08-02 06:32:47

标签: react-native native-base

我按照NativeBase Docs中的设置说明操作了rnpm link。我收到此错误: Unrecognized font family ionicons

也由Xcode检查,字体已经处于构建阶段。 我错过了什么?

9 个答案:

答案 0 :(得分:17)

扩展现有答案并使用this github issue上的解决方案,执行以下操作;

  1. 关闭正在运行的打包程序
  2. 运行react-native link react-native-vector-icons
  3. 然后运行react-native start --reset-cache
  4. 最后运行react-native run-ios以重新启动模拟器

答案 1 :(得分:17)

对于RN 0.60 +,请勿使用react-native link ...! (请参阅Autolinking

而是将其添加到您的Podfile中:

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

并运行pod update(或pod install)。

进一步将其添加到您的Info.plist中:

<key>UIAppFonts</key>
<array>
  <string>AntDesign.ttf</string>
  <string>Entypo.ttf</string>
  <string>EvilIcons.ttf</string>
  <string>Feather.ttf</string>
  <string>FontAwesome.ttf</string>
  <string>FontAwesome5_Brands.ttf</string>
  <string>FontAwesome5_Regular.ttf</string>
  <string>FontAwesome5_Solid.ttf</string>
  <string>Foundation.ttf</string>
  <string>Ionicons.ttf</string>
  <string>MaterialIcons.ttf</string>
  <string>MaterialCommunityIcons.ttf</string>
  <string>SimpleLineIcons.ttf</string>
  <string>Octicons.ttf</string>
  <string>Zocial.ttf</string>
</array>

(取自https://github.com/oblador/react-native-vector-icons#option-with-cocoapods

在我的项目中可以正常工作,

"react": "16.9.0",
"react-native": "0.61.1",
"native-base": "2.13.8" (react-native-vector-icons@6.6.0),

答案 2 :(得分:3)

如果您启动打包程序,然后通过rnpm link链接包,则会发生这种情况。

这需要您重新启动打包程序并重试。

答案 3 :(得分:3)

如果您使用的是0.60及更高版本,则需要执行以下步骤:-

<key>UIAppFonts</key>
<array>
 <string>AntDesign.ttf</string>
 <string>Entypo.ttf</string>
 <string>EvilIcons.ttf</string>
 <string>Feather.ttf</string>
 <string>FontAwesome.ttf</string>
 <string>FontAwesome5_Brands.ttf</string>
 <string>FontAwesome5_Regular.ttf</string>
 <string>FontAwesome5_Solid.ttf</string>
 <string>Foundation.ttf</string>
 <string>Ionicons.ttf</string>
<string>MaterialIcons.ttf</string>
<string>MaterialCommunityIcons.ttf</string>
<string>SimpleLineIcons.ttf</string>
<string>Octicons.ttf</string>
<string>Zocial.ttf</string>
</array>

,然后在以下命令下运行:-

react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios

清理并构建后。运行ios应用。这个解决方案对我有用:)

答案 4 :(得分:1)

使用Icon.loadFont()方法加载字体。

答案 5 :(得分:0)

我的mac.solution遇到了同样的问题:

  • 关闭终端窗口和模拟器。

  • 在项目所在的同一文件夹中写下 .. React-native链接react-native-vector-icons

  • 然后通过。启动项目, React-native run-ios

答案 6 :(得分:0)

如果您的iOS项目正在使用CocoaPods(包含Podfile)并且链接的库具有podspec文件,则react-native链接将使用Podfile链接该库。

将以下注释添加到podfile的底部。

# Add new pods below this line

然后运行“ react-native链接[package_name]”

这对我有用。

答案 7 :(得分:0)

native-base具有'react-native-vector-icons'作为依赖项,但是如果您使用react-native <= 0.59.10,则具有链接。

简单的命令:

react-native link react-native-vector-icons

答案 8 :(得分:0)

无需编辑PodFile并添加Pod RNVectorIcons,因为在添加 react-native-vector-icons

之后,自动链接会正常工作

添加到PodFile会在使用react-native run-ios的下一次运行后引起警告:

Warning: following modules are linked manually: - react-native-vector-icons (to unlink run: "react-native unlink react-native-vector-icons"

只需将这行代码添加到ios / yourPorjectName /

上的 info.plist

找到 UIAppFonts 并在 内添加代码:

        <string>AntDesign.ttf</string>
        <string>Entypo.ttf</string>
        <string>EvilIcons.ttf</string>
        <string>Feather.ttf</string>
        <string>FontAwesome.ttf</string>
        <string>FontAwesome5_Brands.ttf</string>
        <string>FontAwesome5_Regular.ttf</string>
        <string>FontAwesome5_Solid.ttf</string>
        <string>Foundation.ttf</string>
        <string>Ionicons.ttf</string>
        <string>MaterialIcons.ttf</string>
        <string>MaterialCommunityIcons.ttf</string>
        <string>SimpleLineIcons.ttf</string>
        <string>Octicons.ttf</string>
        <string>Zocial.ttf</string>

工作于:

“ react-native”:“ 0.63.3”,

“ react-native-vector-icons”:“ ^ 7.1.0”