经过几天在互联网上的研究,我仍然没有解决我的问题。 我正在使用react-native-svg并且遇到同样的问题:
我尝试了很多事情,包括:
react-native unlink react-native-svg
npm uninstall react-native-svg
npm install react-native-svg
react-native link react-native-svg
react-native run-ios
还有:
pod 'RNSVG', :path => '../node_modules/react-native-svg'
rm -rf node_modules
npm install
react-native run-ios
但是还是什么都没有... 这是我正在使用的版本:
"dependencies": {
"react": "16.1.1",
"react-native": "0.50.3",
"react-native-svg": "^6.0.1-rc.1"
}
我尝试直接从 XCode 构建它,但仍然没有任何结果...
谢谢大家的帮助!
你应该尝试这样做:
npm install react-native-svg --save //(again)
react-native link react-native-svg //(again)
watchman watch-del-all
rm -rf node_modules/ && yarn cache clean && yarn install
然后在另一个终端
npm start -- --reset-cache
在使用react-native run-ios启动您的ios应用程序之前,您必须手动将libRNSVG.a添加到Xcode中的链接框架和库中
然后...多田
SVG问题,我也塞了4个小时才得到解决方案。
自动链接:
react-native link react-native-svg
不能自动工作,需要手动操作。
手动链接:
1 将以下行附加到
android/settings.gradle:
include ':react-native-svg'
project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android')
2 将以下行插入到
android/app/build.gradle:
中的依赖项块中
implementation project(':react-native-svg')
3 打开 `android/app/src/main/java/[...]/MainApplication.java
import com.horcrux.svg.SvgPackage;
添加到文件顶部的导入中。new SvgPackage()
添加到 getPackages()
方法返回的列表中。如果前一项已经有内容,请在前一项中添加逗号。我遇到这个问题是因为“react-native link”从 RN 0.51 开始就被破坏了。完全删除并重新安装后手动链接修复了 iOS 上的问题。
Svg 版本有问题
首先,取消链接 svg,然后删除 svg 的 npm,然后安装新的
"dependencies": {
"react": "16.1.1",
"react-native": "0.44.0",
"react-native-svg": "5.1.8"
}
我也遇到了同样的问题,但是是在 Android 上。
因此,如果您处于相同的条件下,这里有一些解决方法,问题专门发生在 MainApplication 上,所以您想看看:
android/app/src/java/com/*/MainApplication.java
import com.horcrux.svg.SvgPackage;
new SvgPackage()
getPackages()
(~第 30 行左右)我在类似的事情上遇到了巨大的问题,经过大量调查后,意识到问题仅仅是由于嵌套在 .当我把它包裹起来时,我的错误就全部消失了。不确定这是否有帮助,但认为偶尔值得一提。