使用 Podfile 安装 React Native 包

Installing a react native package with Podfile

我按照此处的说明添加程序包:https://github.com/joltup/rn-fetch-blob 它说要执行 npm install 或添加到 Podfile。我所做的是

yarn add rn-fetch-blob

然后

cd ios
pod install

对吗?我没有编辑 Podfile 但不知何故它仍然知道获取依赖项。输出:

Analyzing dependencies
Downloading dependencies
Installing rn-fetch-blob (0.12.0)
Generating Pods project
Integrating client project

Podfile 没有任何对 rn-fetch-blob 的引用。有人可以解释我是否做对了或者我是否需要编辑 Podfile?

假设你使用的是最新的 React Native 版本,如 0.60 及以上,这个过程简称为 Autolinking

基本上,每当您像 rn-fetch-blob 和 运行 pod install 添加新库一样添加到 package.json 时,整个 node_modules 文件夹是由于名为 native_modules.rb 的脚本文件正在扫描以找到合适的 podspec 文件并安装安装 pod 所需的内容。

这是社区文档对 iOS auto-linking 工作原理的定义:

平台iOS

The native_modules.rb script required by Podfile gets the package metadata from react-native config during install phase and:

Adds dependencies via CocoaPods dev pods (using files from a local path). Adds build phase scripts to the App project’s build phase. (see examples below) This means that all libraries need to ship a Podspec either in the root of their folder or where the Xcode project is. Podspec references the native code that your library depends on.

当您执行 pod install 时,它实际上会查看您的 package.json 依赖关系,以了解哪些依赖关系需要安装 pod。因为您已经将它添加到 node_modules 但没有添加到 Podfile.