我的应用程序中安装了react-native元素,但我不断收到此错误消息,提示无法识别的字体家族太棒了。
我已经重置了缓存,进行了npm安装,并删除了build文件夹并重新添加了它。似乎什么都没用,有什么主意吗?
该应用程序应正常运行。在我以前得到“ cfbundleidentifier不存在”错误之前,但是当我以为我已修复它时。我遇到了无法识别的fontfamily错误。
答案 0 :(得分:1)
最可能是因为它找不到图标,所以您需要这样做
npm install react-native-vector-icons --save
然后将其链接
react-native link react-native-vector-icons
答案 1 :(得分:0)
您必须执行一些步骤才能将字体添加到项目中,请检查每个步骤。
将字体文件夹添加到项目中的路径
AppName / android / assets / fonts /
AppName / ios / assets / fonts /
将字体与项目链接。为此,
“ rnpm”:{“资产”:[“资产/字体”]}
将此行添加到项目的package.json
并运行
react-native link
应重新构建应用程序以识别字体:
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'
答案 2 :(得分:0)
因此,经过数小时的研究,我找到了解决方案。我们要在RN V0.6>上添加Fontawesome或WHATEVER字体的问题是,“ react-native- vector-icons”与node_modules文件夹的链接不正确。这就是我所做的:
在RN根项目上创建一个文件夹“资产/字体”
将ttf文件复制到已创建的文件夹中,并且 BUG,文件的名称必须为“ 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并解决了。精疲力竭的问题是我无法想象的大写问题。