【发布时间】:2020-02-16 21:28:39
【问题描述】:
我正在使用 React Native 0.61,并且一直在阅读有关新的自动链接功能的信息。如果您对以下任何问题有任何见解,我将不胜感激。
我的问题是:
1) 我对react-native link <module> 的理解是,它会在你的Podfile 中添加一行<module>,然后你运行pod install。然而,去年我一直在使用react-native link 并手动链接,但从未运行过pod install。那么react-native link 不仅仅是在 Podfile 中添加行,我说得对吗?
2) 过去,当react-native link 链接模块失败时,我通过将.xcodeproj 和.a 文件拖入Xcode 中手动链接它,如here 所述。 react-native link(当它工作时)是否将行添加到您的 Podfile 并为您将 .xcodeproj 和 .a 文件添加到 Xcode 中?
3) 除了将.xcodeproj 和.a 文件添加到Xcode 之外,本机模块的链接是否涉及任何其他内容?
4) pod install 到底是做什么的?它是否需要在您的 Podfile 中引用的所有本机模块并将 .xcodeproj 和 .a 文件添加到 Xcode 中?如果是这样,那将涉及两个步骤:将行添加到您的 Podfile 中,然后运行 pod install。为什么不只是react-native link?
5) 我对自动链接的理解是,它将所有本机模块的行添加到您的 Podfile 中,然后您仍然必须运行 pod install。这不就是和react-native link完成同样的事情吗?
6) 在 this guide to auto-linking 中,它说“自动链接是 react-native 链接的替代品。如果您在 0.60 版之前使用过 React Native,请取消链接原生依赖项(如果您有任何来自以前的安装) ."。为什么它告诉你取消链接?如果模块已经链接,取消链接并重新链接会做什么?这意味着模块与react-native link 链接和通过自动链接的方式之间存在差异。如果您自动链接然后pod install,然后尝试使用react-native link,会发生什么情况?反之亦然?
7) 我在前面的问题中对此进行了概述,但为了简明扼要,自动链接 + pod install 和 react-native link 之间有什么区别?
【问题讨论】:
-
如果您来自 javascript 背景,请将“pod install”视为 cocoapods 项目的“npm install”,即。你的 iOS 应用。这只是安装了 react-native 在你的 xcode 项目中指定的所有依赖项。
-
@HannesHertach 谢谢。我从概念上理解
pod install的作用。如果您对我的具体问题有任何见解,我将不胜感激。
标签: reactjs xcode react-native cocoapods podfile