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

