我正在使用xcode 10,React-Native 0.60。
我知道rn 0.60具有自动链接功能,但不适用于rn-vector-icons。当我手动链接此程序包时,xcode抛出错误并说
Multiple commands produce '/Users/alkanv/Library/Developer/Xcode/DerivedData/Circle-bnmddodmnsbyriecdpuymeenohdn/Build/Products/Debug-iphonesimulator/Circle.app/Foundation.ttf':
1) Target 'Circle' (project 'Circle') has copy command from '/Users/alkanv/Circle/node_modules/react-native-vector-icons/Fonts/Foundation.ttf' to '/Users/alkanv/Library/Developer/Xcode/DerivedData/Circle-bnmddodmnsbyriecdpuymeenohdn/Build/Products/Debug-iphonesimulator/Circle.app/Foundation.ttf'
2) That command depends on command in Target 'Circle' (project 'Circle'): script phase “[CP] Copy Pods Resources”
对于Build Phahes -> Copy Bundle Resources
部分中列出的每个单个图标文件,都会给出此错误。当我搜索此问题时,人们说解决方案是从捆绑软件资源部分中删除那些图标文件。但是,当我从那里删除.ttf文件时,它会成功构建,但这次React Native会抛出一个错误并说:
Unrecognized font family Material Icons
顺便说一句,这与Material Icon无关,如果我尝试将FontAwesome放在那里,它也会引发相同的错误。
我在此上损失了大约半天,因此,感谢您的帮助。
更新
我解决了这个问题。
取消链接包,
删除npm包,
再次安装。
再次链接,安装pod。
导航到info.plist文件,将要使用的字体类添加到fonts provided for the application
中,删除与Build Phahes -> Copy Bundle Resources
如果这样做没有帮助,请安装react-native-config,并在项目的根文件夹中创建一个名为react-native.config.js
的文件。
将此行添加到该文件:
module.exports = {
dependencies: {
'react-native-vector-icons': {
platforms: {
android: null,
ios: null,
},
},
},
};