我试图理解React Native 0.60+中存在的自动链接与我们先前的React Native版本中的自动/手动链接之间的区别。
当我将react-native-gesture-handler与npm i react-native-gesture-handler
添加时,没有行添加到我的Podfile中。因此,当我执行pod install
时,我假定Gesture Handler模块未链接。但是,如果像以前的React Native版本一样手动链接它,则将.xcodeproj
文件拖到Libraries等中,则会引发错误并告诉我取消链接。
我想知道的事情:
我是对的,自动链接是在给Podfile中添加给定模块的行,然后在您pod install
时链接该行吗?如果是这样,为什么在我npm i react-native-gesture-handler
做任何事时都没有添加到我的Podfile中呢?鉴于没有添加任何内容并且手动链接模块会引发错误,我应该如何链接模块?
答案 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安装