React Native Pod依赖问题:指定RN版本失败且默认版本安装报错
解决方案:React Native SDK Podspec 依赖版本问题
针对你遇到的React依赖版本问题,核心原因是CocoaPods公共源中的React是极旧的0.11.0版本,而React Native 0.60+的核心库托管在专属Pod源中,以下是具体解决步骤:
1. 修正Podspec中的React依赖写法
React Native 0.60+之后拆分了核心模块,不再使用顶层的React依赖,需要指定具体的子模块(根据你的SDK实际用到的RN功能添加):
# 替换原有的 s.dependency 'React' s.dependency 'React-Core', '~> 0.69.0' s.dependency 'React-RCTBridge', '~> 0.69.0' # 若SDK用到其他RN能力,比如图片、视图等,补充对应依赖: # s.dependency 'React-RCTImage', '~> 0.69.0' # s.dependency 'React-RCTView', '~> 0.69.0'
2. 要求集成方配置React Native专属Pod源
React Native的Podspec不在默认CocoaPods公共源中,集成方需要在他们的Podfile开头添加RN的源:
# 先添加RN专属源,再添加默认源 source 'https://github.com/facebook/react-native.git' source 'https://cdn.cocoapods.org/'
3. 灵活调整版本约束(可选)
如果希望SDK兼容多个RN版本范围,可以放宽版本限制:
s.dependency 'React-Core', '>= 0.68.0', '<= 0.72.0'
这样集成方使用该区间内的RN版本时,都能正常安装依赖。
4. 验证编译问题
之前的contextify.cc编译错误是因为旧版React(0.11.0)的API与你的SDK代码不兼容,替换为正确的RN版本后,该错误会自动消失。同时要确保你的SDK代码是基于指定的RN版本(比如0.69.x)开发的。
内容的提问来源于stack exchange,提问作者Lukáš Šálek
相关产品推荐
相关产品推荐

