接入Firebase Crashlytics后Flutter iOS模拟器运行报部署目标版本范围错误
问题解决方案
该报错由iOS部署目标版本不匹配导致,按以下步骤操作即可解决:
- 首先修改项目
ios/Podfile配置:- 取消文件开头
platform :ios行的注释,将版本号设置为12.0(Firebase新版SDK最低支持iOS 12.0,版本需落在报错提示的9.0~14.55区间内),示例:
platform :ios, '12.0'- 在Podfile末尾的
post_install代码块中添加强制统一所有Pods部署目标的逻辑,完整逻辑如下:
post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) # 新增以下代码强制设置所有Pod的部署目标为12.0 target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' end end end - 取消文件开头
- 修改Xcode项目级配置:
- 打开
ios/Runner.xcworkspace文件 - 左侧导航栏选中根节点
Runner项目,切换到「信息」标签,将「iOS Deployment Target」修改为12.0 - 切换到「构建设置」标签,搜索
IPHONEOS_DEPLOYMENT_TARGET,将Debug、Release、Profile三个配置项的版本都修改为12.0
- 打开
- 清理并重建依赖:
依次执行以下命令:flutter clean rm -rf ios/Pods ios/Podfile.lock cd ios && pod install --repo-update cd .. - 重新运行项目验证,若开发阶段不需要上传dSYM文件,可在Run Script的Crashlytics执行命令后添加
-d参数,加快构建速度:${PODS_ROOT}/FirebaseCrashlytics/run -d
内容的提问来源于stack exchange,提问作者Lakshya Jain
相关产品推荐
相关产品推荐

