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

添加react-native-firebase/crashlytics后iOS构建失败:未定义符号错误

解决React Native集成Firebase Crashlytics后iOS构建失败(Undefined SKAdNetwork符号)

问题分析

报错中的_SKAdNetworkCoarseConversionValueHigh/Low/Medium是iOS 15.4及以上版本才新增的SKAdNetwork粗粒度转化值常量。出现这个问题的核心原因是:项目最低iOS部署版本低于15.4,而Firebase相关依赖(如FirebaseSessions、Analytics)在新版本中调用了这些仅高版本iOS才有的符号。

解决方案

1. 提升项目最低iOS部署版本

  • 修改ios/Podfile,将动态的min_ios_version_supported替换为明确的iOS版本:
    platform :ios, '15.4'
    
  • 打开Xcode,进入项目target的Deployment Info面板,将iOS版本设置为15.4(确保和Podfile配置一致)。

2. 强制所有依赖Pods对齐部署版本

在Podfile的post_install块中添加逻辑,确保所有Firebase/Google相关Pods的部署版本和项目一致:

post_install do |installer|
  # 保留你原有的其他post_install逻辑...

  # 新增:强制Firebase/Google相关Pods使用iOS 15.4
  installer.pods_project.targets.each do |target|
    if target.name.start_with?('Firebase') || target.name.start_with?('Google') || target.name == 'nanopb'
      target.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.4'
      end
    end
  end
end

3. 彻底清理并重新构建

执行你的重置Pods脚本,或手动执行以下命令:

cd ios
pod deintegrate
rm Podfile.lock
pod install
cd ..
# 清理Xcode缓存
rm -rf ~/Library/Developer/Xcode/DerivedData

打开Xcode,按下Cmd+Shift+K清理构建文件夹,然后重新运行项目。

4. 版本兼容备选方案

你当前使用的@react-native-firebase/* 18.3.0版本对应Firebase iOS SDK 10.x,该版本的部分组件依赖iOS 15.4的SKAdNetwork新API。如果无法提升iOS部署版本,可考虑降级RN Firebase到17.x版本(对应Firebase iOS SDK 9.x,未使用这些新符号),但不推荐长期依赖旧版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:24:54