我正在尝试将本机依赖项添加到一个空白的Expo项目中,以反应原生。在Xcode中构建后,我一直收到此错误:‘React/RCTBridge.h’ file not found
。我想使用的特定库是react-native-camera
,但我尝试过其他库,但它们也没有正确链接。我可以让库与使用react-native-init
和create-react-native-app
(已经分离)创建的项目正确链接。以下是我为展示项目创建和分离的步骤:
编辑(我为不同类型的链接做了不同的步骤4,5和8)
"ios": {
"bundleIdentifier": "com.yourcompany.yourappname",
"supportsTablet": true
},
"android": {
"package": "com.yourcompany.yourappname"
}
exp detach
npm i react-native-camera@0.6 --save
react-native link
npm i
cd ios
pod install
exp start
我尝试了以下解决方案(A,B,C):
一个。来自:react-native-camera's docs 1)主要使用CocoaPods自动安装 2)手动安装
B中。来自:the expo docs
因为react-native链接不知道CocoaPods,它可能不会这样做 安装你的依赖的完整工作。如果遇到构建问题 找到标题,您可能需要手动添加 Pods / Headers / Public to the Header Search Paths配置为您的 Xcode中的本机依赖...您需要配置的目标是由Xcode项目中的react-native链接创建的目标。您需要确定从库到Pods / Headers / Public
的相对路径
℃。最后,我试过了 This answer from stackoverflow
答案 0 :(得分:2)
$(SRCROOT)是指本机模块的源文件夹,而不是整个项目的顶级根目录。
我必须根据我带来的本机模块的位置(在node_modules下)使用$(SRCROOT)/../../../ ios / Pods / Headers / Public。