gke*_*ley 2 xcode cocoapods reactjs react-native podfile
我正在使用 React Native 0.61,并且一直在阅读有关新的自动链接功能的信息。如果您对以下任何问题有任何见解,我将不胜感激。
我的问题是:
1)我的理解react-native link <module>是,它会在你的 Podfile 中添加一行 for <module>,然后运行pod install. 然而,去年我一直在react-native link手动使用和链接,并且从未运行过pod install. 那么我说得对吗?这react-native link不仅仅是向 Podfile 添加行?
2) 过去,当react-native link链接模块失败时,我通过将.xcodeproj和.a文件拖到 Xcode 中来手动链接它,如下所述。是否react-native link(当它工作时)将行添加到您的 Podfile 并将文件添加.xcodeproj到.aXcode 中?
3) 除了添加到 Xcode 的.xcodeproj和.a文件之外,链接的本机模块是否还涉及其他内容?
4)具体是pod install做什么的?它是否会将 Podfile 中引用的所有本机模块添加.xcodeproj到.aXcode 中?如果是这样,这将涉及两个步骤:将该行添加到您的 Podfile 中,然后运行pod install. 为什么不只是react-native link?
5)我对自动链接的理解是,它将所有本机模块的行添加到您的 Podfile 中,然后您仍然需要运行pod install. 这不是和完成同样的事情吗react-native link?
6)在本自动链接指南中,它说“自动链接是react-native链接的替代品。如果您在0.60版本之前使用过React Native,请取消链接本机依赖项(如果您有以前安装的任何依赖项)”。为什么它告诉你取消链接?如果模块已经链接,取消链接并重新链接会怎样?这意味着模块通过自动链接链接的方式与通过自动链接链接的方式之间存在差异react-native link。如果您自动链接然后pod install,然后尝试使用react-native link,会发生什么情况,反之亦然?
7)我在前面的问题中概述了这一点,但为了简洁起见, 自动链接 +和之间有什么区别?pod installreact-native link
您的所有问题都紧密相连,因此我将向您提供详细信息,希望能为您解决问题。
如果 React Native 版本 <= 0.59并且项目中未使用Cocoapods :
react-native 链接只会将.xcodeproj文件和.a文件添加到 XCode 项目中。它不会向 Podfile 添加任何行,因为在这种情况下,Podfile 不存在。
如果React Native版本<= 0.59并且项目中使用了Cocoapods:
react-native 链接会将这些行添加到 Podfile 并安装 pod。它不会添加.xcodeproj或.a归档到 XCode 项目。这是假设该库支持 Cocoapods 安装。如何知道库是否支持 Podfile 安装?他们在 Github 页面/NPM 页面上提到了它。此外,此类库还将有一个 .podspec 文件。示例:https: //github.com/react-native-community/react-native-device-info
查看该库有一个.podspec文件 -> RNDeviceInfo.podspec。所以这支持Cocoapods安装。如果库不支持 Cocoapods 安装,react-native 链接将像上面的情况一样添加xcode.proj并.a归档到 XCode 项目。
如果 React Native 版本 >= 0.61(在这种情况下 Cocoapods 是默认的)
不再需要反应本机链接。您只需安装该库(yarn add或npm install),然后执行操作pod install。这里发生的是,Cocoapods 从 node_modules 文件夹中获取库,检查是否有文件.podspec,然后安装 pod。但它不会向 podfile 添加任何行。这是 React Native 0.60 版本中引入的自动链接。如果旧库没有文件.podspec,您需要通过react-native链接手动链接库。
| 归档时间: |
|
| 查看次数: |
5972 次 |
| 最近记录: |