使用静态框架,如Realm,通过Cocoapods安装React-Native

时间:2017-05-09 19:29:53

标签: xcode react-native cocoapods realm react-native-navigation

我有一个具有两个要求的本机反应项目。它需要与Airbnb的native-navigation library合作,并且需要一个Realm数据库。我有时间让两个图书馆工作togeather。因为Native-navigation使用Swift文件,所以它需要react-native,而其他本机库是通过cocoapods安装的。

Realm,不是一个cocoapod友好的图书馆所以我一直在遵循这个基本设置,我开始使用airbnb的样板ReactNativeStarter。此时项目构建并运行但是当我介绍Realm时,我在构建项目时遇到错误,它无法找到React头文件

以下是我的步骤:

1)通过npm install --save realm

安装领域

2)深入/node_modules/realm/react-native/ios/并将RealmReact.xcodeproj拖到ReactNativeStarter文件中的样板生成的ReactNativeStarter.xcworkspace项目中

enter image description here

3)然后我将以下内容添加到Realm React的标头搜索路径$(SRCROOT)/../../../../ios/Pods/Headers/Public

enter image description here

我认为值得注意的是/ Pods / Headers文件夹不包含任何内容。 React的这个possibly an issue with cocoapods not generating the header files是否正确?

4)我在“链接的框架和库”下添加了libRealmReact.a静态库'

enter image description here

5)最后,我将$(SRCROOT)/../node_modules/realm/src添加到ReactNativeStarter项目的标题搜索路径中。enter image description here

问题 - 此时构建项目仍会导致以下xcode构建错误:

/Users/some.guy/ReactNative/SaveAs/node_modules/react-native/React/Base/RCTBridge.h:12:9:' React / RCTBridgeModule.h'找不到文件

1 个答案:

答案 0 :(得分:0)

删除节点模块并重新安装。运行这个:

  • watchman watch-del-all
  • rm -rf node_modules /
  • npm install

之后,运行:react-native upgrade以在native-native中重新链接您的本机依赖项,​​这将解决您的问题,并且不要忘记在Xcode中清理您的项目。