Reactjs 未定义的架构符号,反应本地cocoapod问题
我有一个现有的react-native应用程序,我希望将react-native链接用于包含PODSpec的新依赖项。然而,这带来了一个问题,因为它们都依赖于React 我在我的播客文件中添加了以下内容:Reactjs 未定义的架构符号,反应本地cocoapod问题,reactjs,react-native,cocoapods,Reactjs,React Native,Cocoapods,我有一个现有的react-native应用程序,我希望将react-native链接用于包含PODSpec的新依赖项。然而,这带来了一个问题,因为它们都依赖于React 我在我的播客文件中添加了以下内容: pod 'React', :path => '../node_modules/react-native' # Explicitly include Yoga pod 'yoga', :path => '../node_modules/react-native/ReactCommo
pod 'React', :path => '../node_modules/react-native'
# Explicitly include Yoga
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
这解决了其他模块的PODSpec的依赖性问题,但引入了以下新错误:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_RCTCxxBridge", referenced from:
objc-class-ref in libReact.a(RCTBridge.o)
ld: symbol(s) not found for architecture arm64
这个错误似乎是因为我没有为React列出任何子服务器(特别是“cxbridge”)。当我将CxxBridge添加到Podfile时,我被迫添加以下依赖项,因为“CxxBridge”依赖于愚蠢:
# Third party deps podspec link
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
添加这些依赖项没有问题,但它们的源代码已经存在于node\u modules/react native/third-party
中。理想情况下,我希望在Podfile中指定路径,这样我就不必提交大量的样板代码,但由于源文件没有PodSpec,所以我无法这样做
是否有任何方法可以将CxxBridge链接到项目中,而不必添加已存在于node_模块中的额外代码
?其他人是如何在第三方依赖项(带有react native链接)中使用PodSpecs的?如有任何帮助和/或Podfile示例,将不胜感激
react-native: 0.57.1
xcode: 9.4.1
发布答案,以防其他人遇到类似情况。结果证明链接的库是错误的,因为有些库可能是从节点_模块引用React项目中的库,而有些库可能是从React Pod中引用库 修复的步骤:
- 删除要React的链接以及React项目中包含的任何子服务器
- 删除所有以前生成的Pod文件
- 将安装后脚本添加到Podfile
- 运行
pod安装
- 链接所有必要的React依赖项
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == "React"
target.remove_from_project
end
end
end
你是个救生员。