【发布时间】:2021-12-02 16:17:51
【问题描述】:
我是 Flutter 的新手,正在尝试将 Flutter 和 Firebase 集成。我创建了一个flutter项目并添加了android和ios应用程序,然后将文件下载到了flutter应用程序。但是当我运行该项目时,我收到以下错误
Exception has occurred.LateError (LateInitializationError: Local 'firebaseUser' has not been initialized.)
可能是什么原因?这些是代码行
Future<bool> signInAnonymously() async {
if (Configurations.shared.isThisVersionTestedInAppStore ||
Utils.isInDebugMode!) {
late UserCredential firebaseUser;
try {
firebaseUser = await FirebaseAuth.instance.signInAnonymously();
} catch (e) {
AppLogger.error(e);
}
return didLogInSuccessfully(withUser: firebaseUser.user);
} else {
return false;
}}
main.dart 文件内容
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await Configurations.shared.init();
await Repository.shared.init();
runApp(Configurations.shared.getMainAppWidget());
runTestScripts();
}
void runTestScripts() {
Utils.test();
Synchronizer.test();
Localized.test();
}
【问题讨论】:
-
首先提供您收到此错误的代码,您可能已经使用
late修饰符将 FirebaseUser 删除,它应该可以工作 -
@AbhishekVishwakarma,感谢您的更新。我在问题中添加了代码行。你能看看吗?
-
唯一导致您出现此错误的原因是您在
signInAnonymously()中用于 UserCredential 的后期关键字只需删除late关键字并使您的UserCredential可空(?)并使用null check(!)随时随地