Flutter集成Firebase Core遇CocoaPods报错:undefined method `map' for nil:NilClass
解决Flutter配置firebase_core后CocoaPods报错问题
问题原因
这个undefined method 'map' for nil:NilClass报错通常是CocoaPods缓存损坏、版本不兼容,或者iOS项目配置冲突导致的。结合你已经升级了iOS部署目标到13.0,以下是针对性的解决步骤:
解决步骤
清理项目缓存
在项目根目录执行:flutter clean cd ios pod deintegrate pod cache clean --all检查并修正Podfile配置
打开ios/Podfile,确保以下配置正确:- 部署目标已设置为13.0:
platform :ios, '13.0' - 启用静态框架链接(Firebase 10+及对应flutterfire插件要求):
use_frameworks! :linkage => :static
注意:如果你的Podfile里没有这行,需要添加到
target 'Runner' do块内部。- 部署目标已设置为13.0:
升级CocoaPods到最新版本
旧版本CocoaPods可能与新插件不兼容,执行:sudo gem install cocoapods重新安装依赖
回到项目根目录:flutter pub get cd ios pod install验证Xcode项目配置
打开ios/Runner.xcworkspace,检查:- 选中
Runner目标,在General标签页确认Deployment Target为iOS 13.0 - 避免手动修改Pods的配置,确保由CocoaPods自动管理
- 选中
检查Flutter版本兼容性
firebase_core: ^3.1.0要求Flutter最低版本为3.16.0,执行以下命令检查并升级:flutter --version flutter upgrade
如果执行完以上步骤仍报错,可以尝试删除ios/Podfile.lock文件后再重新执行pod install。
内容的提问来源于stack exchange,提问作者Darrell
相关产品推荐
相关产品推荐

