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

Flutter集成firebase_authentication后iOS端登录崩溃问题求助

问题根因确认

导致应用直接崩溃的不是Firebase相关服务,是iOS定位权限配置缺失。Firebase相关输出为警告信息,不会触发SIGTERM级别的崩溃。

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'To use location in iOS8 and above you need to define either NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription in the app bundle's Info.plist file'

以上报错为直接崩溃触发点。

修复步骤

1. 修复定位权限配置(解决崩溃问题)

打开你的Flutter项目中ios/Runner/Info.plist文件,在<dict>标签内添加对应权限声明:

  • 如果你的应用仅在使用期间需要定位,添加:
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要获取您的位置信息以提供[填写实际使用场景,比如"附近门店查询""位置打卡"]服务</string>
  • 如果你的应用需要后台持续定位,添加:
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>需要持续获取您的位置信息以提供[填写后台定位实际场景]服务</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要获取您的位置信息以提供[填写实际使用场景]服务</string>

添加后保存文件,重新运行项目即可解决崩溃问题。

2. 可选修复Firebase相关警告(非必须,可优化运行表现)

  • No app has been configured yet 警告:确认你已在main.dart的main函数中初始化Firebase,示例代码:
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(const MyApp());
}
  • aps-environment 权限缺失警告:如果你的应用需要使用Firebase推送通知,打开Xcode项目,进入Signing & Capabilities标签,点击+ Capability添加Push Notifications权限,同时添加Background Modes权限并勾选Remote notifications选项即可。
  • nw_hash_table_apply 空指针警告:该警告为iOS 15系统底层网络库的已知问题,不影响应用功能,可忽略,升级到更高版本的Flutter和iOS SDK可自动消除。
验证方法

重新执行flutter run命令启动项目,登录环节不再触发崩溃即可确认修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:54:03