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

Flutter iOS构建报错:type 'Null' is not a subtype of type 'String'

问题描述
  • Android平台构建登录功能完全正常,所有认证流程可顺利完成
  • iOS平台构建时触发类型转换错误:type 'Null' is not a subtype of type 'String'
  • 已尝试重新连接Firebase,问题未解决

附相关代码

login_form.dart

// 此处粘贴login_form.dart的完整代码

login_controller.dart

// 此处粘贴login_controller.dart的完整代码

错误栈信息

// 此处粘贴详细错误栈内容
排查建议
  1. 核对GoogleService-Info.plist配置:确认iOS端的Firebase配置文件中所有必填字符串字段(如REVERSED_CLIENT_ID、CLIENT_ID、PROJECT_ID等)均存在且非空,避免因配置缺失导致初始化时返回null值
  2. 检查代码中非空断言/强制类型转换:定位错误栈中标注的代码行,排查是否存在将可能为null的变量直接转为String的操作(如String value = nullableValue!;但实际值为null),建议添加非空判断或使用可空类型
  3. 对比Firebase返回字段差异:部分Firebase Auth返回的字段(如用户信息中的某些属性)在Android和iOS平台可能存在返回逻辑差异,需确认在iOS端获取的字段是否可能为null,针对性处理
  4. 验证iOS端Firebase初始化:确保Firebase初始化完成后再执行登录逻辑,避免因异步初始化未完成导致访问未初始化的null配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 14:04:52