在 React Native 中链接 Pod 的问题

Posted

技术标签:

【中文标题】在 React Native 中链接 Pod 的问题【英文标题】:Issue with linking Pods in React Native 【发布时间】:2018-03-14 17:31:14 【问题描述】:

我最近几天一直在尝试让 React-Native(尝试 0.49-0.53)与几个原生模块/包一起工作,例如 react-native-image-resizer、react-native-orientation、react -native-splash-screen、HockeySDK 等

当我根据包维护者/git repo README 安装包时,总是出现链接错误 - 某些文件丢失,除非我还安装 Pods:

$pod install

这导致安装包 Podfiles,但也安装了 React Pod,不幸的是一个过时的版本 (0.11)。

要安装当前版本,我遵循了这个 React Native 教程https://facebook.github.io/react-native/docs/integration-with-existing-apps.html#configuring-cocoapods-dependencies。

另外我需要把Xcode-Project从.xcodeproject改成.xcworkspace(根据几个github问题,有兴趣请写,我可以重新google一下链接)。

这有助于解决之前的错误,但会导致此错误: ld: 21 duplicate symbols for architecture arm64

那么问题是同时部署了2个版本的React?

所以总结一下:

需要链接具有本机实现的包 (react-native link) 链接它们会安装 Pod,而 Pod 又会重新安装/链接 React as Pod 这会导致*重复符号*错误

有什么想法吗?

【问题讨论】:

你解决了吗? 【参考方案1】:

我重新初始化了一个根本不安装 pod 的新项目!

还要小心,大多数 npm 包都需要正常安装或 pod,不要使用 pod!

问题在于它将整个额外的 react-native 链接为一个 pod,有时甚至是不同的版本,这最终会导致重复的符号。也许可以将 react native 库引用到已经安装的(在 node_modules 中),但是 1. 我不知道如何和 2. 找到了上述方法。

【讨论】:

评论 -1 downvote:很抱歉答案,但没有 pod 似乎是最好的解决方案,遵循“尽可能简单,尽可能复杂”的想法。这种方法也没有限制。问候

以上是关于在 React Native 中链接 Pod 的问题的主要内容,如果未能解决你的问题,请参考以下文章

react-native - Pod 安装卡在克隆规范 repo

无法在 react-native-map 中安装 google map pod

无法通过 CocoaPods 构建 React Native 0.61.1

React Native - pod 安装问题“无法加载此类文件.......node_modules/react-native/scripts/react_native_pods”

React Native 错误 pod 安装,Debian 10

React-native iOS 不显示图像(pod 问题)