Cocoapods 是 iOS 的依赖管理器。就像 npm 适用于 JavaScript(更具体地说是 Node.js)项目一样。
让我们切换示例来使用react-native-device-info
.
该项目要求您创建以下内容或将以下内容添加到Podfile
(如果您手动链接)。
pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'
这将添加RNDeviceInfo
作为 iOS 依赖项,并将查看内部'../node_modules/react-native-device-info'
为拿到它,为实现它。更具体地说,它将寻找.podspec https://github.com/rebeccahughes/react-native-device-info/blob/master/RNDeviceInfo.podspec file.
如果您查看 .podspec 文件,您会看到类似的内容
s.source_files = "RNDeviceInfo/*.{h,m}"
。该文件要做的就是获取匹配的源(RNDeviceInfo.h
and RNDeviceInfo.m
)并将它们存储在RNDeviceInfo
目录。我认为(完全猜测),目录名称匹配s.name
.
react-native link ...
自动有效地做同样的事情。我引用 React 文档:
链接您的本机依赖项:反应本机链接完毕!所有具有本机依赖项的库都应成功链接到您的 iOS/Android 项目。
两者都实现相同的结果,使用react-native link
将自动链接本机库。