如何在Flutter项目iOS端运行Firebase,Xcode编译过久如何解决
解决方案
你提到的依赖配置文件存在笔误,正确文件名为pubspec.yaml而非public.yaml。该Xcode长时间编译无响应问题是旧版本Flutter Firebase套件在iOS端的常见问题,可按以下步骤逐一排查解决:
- 升级Firebase相关依赖版本
你当前使用的firebase_core: ^1.8.0、firebase_auth: ^3.1.4、cloud_firestore: ^2.5.4均为2021年发布的老旧版本,对新版Xcode、iOS SDK兼容性极差,优先将三个包升级到兼容的稳定版本,修改pubspec.yaml对应配置为:
firebase_core: ^2.15.0 firebase_auth: ^4.10.0 cloud_firestore: ^4.9.0
修改完成后执行flutter pub get更新依赖。
- 清理旧构建缓存
依次执行以下命令清理所有本地缓存的构建产物:
flutter clean rm -rf ios/Pods rm ios/Podfile.lock rm -rf ~/Library/Developer/Xcode/DerivedData/*
- 优化iOS端Pod配置
打开iOS目录下的Podfile,在文件顶部添加最低系统版本限制:
platform :ios, '13.0'
同时在Podfile的post_install块中添加以下配置,关闭Firebase相关库的冗余调试符号生成,大幅缩减编译时间:
post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf' config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' end end end
修改完成后进入ios目录执行pod install --repo-update拉取最新的iOS端依赖库。
- 调整Xcode编译配置
打开Xcode运行项目时,先切换编译模式为Release测试是否能正常编译完成,如果Release模式可以正常编译、仅Debug模式编译慢,可在Xcode的Build Settings中找到Optimization Level,将Debug模式的优化级别调整为Optimize for Speed [-O]即可。
如果以上步骤全部执行完成后仍出现编译卡住的情况,可直接删除整个ios目录,执行flutter create .重新生成iOS端配置文件,再重新走一遍Firebase iOS端配置流程即可。
内容的提问来源于stack exchange,提问作者Jimmyjbk
相关产品推荐
相关产品推荐

