如何在React Native 0.60+中添加本机模块?

时间:2019-09-20 20:11:17

标签: ios xcode react-native cocoapods podfile

我试图理解React Native 0.60+中存在的自动链接与我们先前的React Native版本中的自动/手动链接之间的区别。 当我将react-native-gesture-handlernpm i react-native-gesture-handler添加时,没有行添加到我的Podfile中。因此,当我执行pod install时,我假定Gesture Handler模​​块未链接。但是,如果像以前的React Native版本一样手动链接它,则将.xcodeproj文件拖到Libraries等中,则会引发错误并告诉我取消链接。

我想知道的事情:

我是对的,自动链接是在给Podfile中添加给定模块的行,然后在您pod install时链接该行吗?如果是这样,为什么在我npm i react-native-gesture-handler做任何事时都没有添加到我的Podfile中呢?鉴于没有添加任何内容并且手动链接模块会引发错误,我应该如何链接模块?

1 个答案:

答案 0 :(得分:0)

当您创建新项目并且本机版本> = 60时,此行会自动添加到pod文件(official site

# example/ios/Podfile
require_relative '../../node_modules/@react-native-community/cli-platform-ios/native_modules'

这是脚本的路径,因此当您运行“ pod install”时,它将检查所有库并安装所需的所有pod文件

因此,当您添加新库时,没有任何行添加到我的Podfile中,但是您必须运行“ pod install”,以便脚本文件可以运行并安装新的Pod文件。

请不要使用official site

中所述的手动链接
  

这意味着所有库都需要在以下位置发送Podspec:   他们文件夹的根目录或Xcode项目所在的位置。 Podspec参考   库所依赖的本机代码。

     

该实现可确保一个库仅导入一次。如果   您需要有一个自定义的pod指令,然后将其包含在   use_native_modules!功能。

您必须执行2个步骤

1:添加库“添加纱线添加react-native-gesture-handler”

2:cd ios && pod安装