2017-07-15 39 views
2

我想添加本地依赖项为反应原生的空白世博项目。在Xcode构建之后,我不断收到这个错误:‘React/RCTBridge.h’ file not found。我想要使​​用的特定库是react-native-camera,但我尝试了其他库,但它们也没有正确链接。我可以使库正确链接到使用react-native-initcreate-react-native-app(已分离)创建的项目。下面是我创建并从世博会项目分离步骤:无法添加本地软件包与独立世博项目与Xcode(React-Native)

EDIT(我做的步骤4,5和8不同为不同类型的连接的)

  1. 我创建了一个新的EXP项目。
  2. 我增加了以下我app.json: "ios": { "bundleIdentifier": "com.yourcompany.yourappname", "supportsTablet": true }, "android": { "package": "com.yourcompany.yourappname" }
  3. exp detach

  4. npm i [email protected] --save

  5. react-native link
  6. npm i
  7. cd ios
  8. pod install
  9. exp start

我已尝试了以下解决方案(A,B,C):

A.来自:react-native-camera's docs 1)有自动与的CocoaPods 安装2)手动安装

B. From:the expo docs

beca使用react-native链接不知道CocoaPods,它可能不会执行安装依赖关系的完整作业 。如果遇到构建问题 查找头文件,您可能需要手动将 Pods/Headers/Public添加到您在Xcode中的 本机依赖项的标题搜索路径配置中。您要配置的目标是由反应 - 你的Xcode项目中的原生链接。你会想从你的库荚/头/公共

相对确定的路径通过这样做: enter image description here

C.最后,我想 This answer from stackoverflow

回答

2

$( SRCROOT)引用本地模块的源文件夹,而不是整个项目的顶级根目录。

我不得不使用$(SRCROOT)/../../../ ios/Pods/Headers/Public,它基于本机模块的引入位置(在node_modules下)。

+0

一旦我使用了正确的相对路径,这是一个非常简单的修复。问题是如何解决这个问题还有很多其他的信息(我上面尝试的其他步骤)与世博会的问题真的没有关系。谢谢@ Kelvin Lawson –

+0

实际上,我认为我从我最初的问题中将方法C应用到了我的项目中,我认为这也可能是必需的。 –

+0

.xcodeproj文件(在本例中为RCTCamera.xcodeproj)似乎不在源代码管理中,因为它驻留在'node_modules'中。因此,在新机器上安装,甚至在安装“npm install”之后都可能很麻烦。你有这个解决方案吗? – DerJacques