You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native 0.68.1集成react-native-firebase/app@15.3.0后iOS构建失败求助(含react-native-razorpay依赖)

解决React Native iOS构建失败(react-native-razorpay链接错误)

作为RN新手遇到这种构建错误确实头疼,我帮你一步步排查解决这个问题——根源主要是use_frameworks!与react-native-razorpay的静态库依赖冲突,加上Firebase集成的影响,下面是具体修复步骤:

1. 调整Podfile的use_frameworks!配置

你的Podfile里启用了use_frameworks!,但默认是动态链接模式,而react-native-razorpay这类老库通常依赖静态链接方式。CocoaPods 1.10+支持指定静态链接的framework,修改Podfile:

target 'DussriShadi' do
  # 替换原来的use_frameworks!为下面这行
  use_frameworks! :linkage => :static
  config = use_native_modules!

  # ... 其余代码保持不变
end

这个配置既能满足react-native-firebase对framework的需求,又能兼容依赖静态库的第三方库。

2. 彻底清理缓存并重新安装Pods

缓存问题是RN iOS构建失败的常见诱因,执行以下命令:

  • 进入ios目录:cd ios
  • 删除Pods文件夹和锁文件:rm -rf Pods Podfile.lock
  • 清理Xcode派生数据:rm -rf ~/Library/Developer/Xcode/DerivedData
  • 重新安装Pods:pod install

3. 确保react-native-razorpay版本兼容

旧版本的react-native-razorpay可能不支持use_frameworks!,升级到兼容RN 0.68的最新版本:

npm install react-native-razorpay@latest --save

安装完成后回到ios目录再次执行pod install。

4. 调整Xcode项目的Build Settings

打开ios目录下的DussriShadi.xcworkspace,找到react-native-razorpay的target(在Pods项目分组里),修改以下设置:

  • Build Settings -> Linking -> Other Linker Flags:添加-ObjC(如果已存在就忽略)
  • Build Settings -> Build Options -> Enable Bitcode:设置为No(多数第三方库不支持Bitcode)
  • Build Settings -> Architectures:确保只保留arm64和x86_64(移除其他架构,避免模拟器/真机架构冲突)

5. 验证Firebase配置正确性

react-native-firebase 15.3.0版本是支持use_frameworks! :linkage => :static的,不需要额外修改,但可以确认post_install钩子是否正常:
你的Podfile里的react_native_post_install(installer)已经包含了RN需要的配置,保持原样即可。

完成以上步骤后,再执行npx react-native run-ios,应该就能成功构建了。如果还是报错,可以尝试临时关闭Hermes(把hermes_enabled => flags[:hermes_enabled]改成hermes_enabled => false),排除Hermes带来的冲突。

内容的提问来源于stack exchange,提问作者React_Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 18:28:16