错误:NoSuchMethod错误:类"_AssertionError"没有实例获取器"代码"



当我尝试使用firebaseauth登录时,我不断收到一个错误,说

错误图片

我一直在网上学习如何做到这一点。但它似乎仍然对我不起作用。

这是我的代码:

import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';
bool isAuth = false;
FirebaseAuth _auth = FirebaseAuth.instance;
final googleSignIn = GoogleSignIn();
Future<bool> signUp({String email, String password}) async {
try {
User user = (await _auth.createUserWithEmailAndPassword(email: email, password: password)).user;
return Future.value(true);
} catch (e) {
switch (e.code) {
case "email-already-in-use":
print("email-already-in-use");
}
}
}
Future<bool> signIn({String email, String password}) async {
try {
User user = (await _auth.signInWithEmailAndPassword(email: email, password: password)).user;
return Future.value(true);
} catch (e) {
switch (e.code) {
case "user-not-found":
print("user-not-found");
break;
}
}
}
Future<bool> signOutUser() async {
User user = await _auth.currentUser;
if (user.providerData[1].providerId == "google.com") {
await googleSignIn.signOut();
}
_auth.signOut();
return Future.value(true);
}

这样定义您的try-catch块:

try {
User user = (await _auth.createUserWithEmailAndPassword(email: email, password: password)).user;
return Future.value(true);
} on FirebaseAuthException catch (e) {
switch (e.code) {
case "email-already-in-use":
print("email-already-in-use");
return null;
}
}
}

try {
User user = (await _auth.signInWithEmailAndPassword(email: email, password: password)).user;
return Future.value(true);
}on FirebaseAuthException catch (e) {
switch (e.code) {
case "user-not-found":
print("user-not-found");
break;
return null;
}
}

最新更新