【问题标题】:Font Awesome is unrecongized in my react native project在我的反应原生项目中,Font Awesome 无法识别
【发布时间】:2019-08-22 01:31:18
【问题描述】:

我在我的应用程序中安装了 react-native 元素,但我不断收到这个错误,显示 Unrecognized Font family Awesome。

我已经重置了缓存,安装了 npm,删除了构建文件夹并重新添加了它。似乎没有任何效果,有什么想法吗?

应用程序应该可以正常运行。在我曾经收到“cfbundleidentifier 不存在”错误之前,但当我认为我已经修复它时。我收到了这个无法识别的 fontfamily 错误。

【问题讨论】:

    标签: ios reactjs react-native build font-awesome


    【解决方案1】:

    所以,经过数小时的研究,我找到了解决方案。我们想在 RN V0.6> 上添加 Fontawesome 或 WHATEVER 字体的问题是来自“react-native- vector-icons" 与 node_modules 文件夹没有很好的链接。这就是我所做的:

    • 在 RN 根项目上创建一个文件夹“assets/fonts”

    • 将 ttf 文件复制到创建的文件夹中,这是错误,文件的名称必须是“lowercase.ttf”或“lowercase_whatever_also_lowercase.ttf”。如果你把大写或“-”它会崩溃。不知道为什么。

    • 在 RN 根项目上创建一个文件“react-native.config.js”并粘贴以下内容:

    module.exports = { 
        project: { 
          ios: {},
          android: {}, 
        },
        assets: ['./assets/fonts'] 
    };
    

    最后在终端上执行以下操作:

    react-native start --reset-cache
    react-native link
    npm run ios
    

    我测试了IOS,它解决了。令人筋疲力尽的问题是我无法想象的大写问题。

    【讨论】:

    • 在我找到你的评论之前,我花了好几个小时在圈子里跑来跑去。谢谢!!
    【解决方案2】:

    您必须按照一些步骤将字体添加到您的项目中,检查每个步骤。

    1. 将字体文件夹添加到你的项目中的路径

      AppName/android/assets/fonts/

      AppName/ios/assets/fonts/

    2. 将您的字体与项目相关联。为此,

      "rnpm": { "assets": ["assets/fonts"] }

    将此行添加到您项目的package.json 并运行,

    react-native link
    
    1. 应重新构建应用程序以识别字体:

      react-native run-ios

      react-native run-android

    如果你不知道具体的字体名称,可以在函数里面添加AppDelegate.m中的代码,

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    ...
    
    
      NSArray *fontFamilies = [UIFont familyNames];
    
      for (int i = 0; i < [fontFamilies count]; i++)
      {
        NSString *fontFamily = [fontFamilies objectAtIndex:i];
        NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
        NSLog (@"%@: %@", fontFamily, fontNames);
      }
    
    }
    

    然后检查日志以获取字体的确切名称。

    并将字体名称添加到您的项目中,

    fontFamily: 'fontName'
    

    【讨论】:

      【解决方案3】:

      这很可能是因为它找不到图标,所以你需要这样做

      npm install react-native-vector-icons --save
      

      然后链接它

      react-native link react-native-vector-icons
      

      【讨论】:

      • 谢谢艾玛
      猜你喜欢
      • 1970-01-01
      • 2014-10-18
      • 2019-02-15
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多