在 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”