问题描述
我第一次遇到Firebase错误,并且不确定为什么它一直显示错误。 错误:
名称“ UserCredential”在库“ package:firebase / src / auth.dart(通过package:firebase / firebase.dart)”和“ package:firebase_auth / firebase_auth.dart”中定义。\ n尝试使用“ as”前缀”作为导入指令之一,或在除其中一项导入之外的所有其他隐藏该名称。
import 'package:firebase_auth/firebase_auth.dart';
class AuthService {
final FirebaseAuth _auth = FirebaseAuth.instance;
// Create user object based on FirebaseUser
CustomUsers _customModelForFirebaseUser(user) {
return user != null ? CustomUsers(uid: user.uid) : null;
}
// auth changed user stream
Stream<CustomUsers> get user {
return _auth.authStateChanges().map(_customModelForFirebaseUser);
}
//Signin Anon
Future signInAnon() async {
try {
UserCredential userCredential = await _auth.signInAnonymously();
CustomUsers user = userCredential.user;
print(_customModelForFirebaseUser(user));
} catch (e) {
print(e.toString());
return null;
}
}
解决方法
程序包具有相同的类名,这会导致打包冲突。尝试这样隐藏其中之一
import 'package:firebase_auth/firebase_auth.dart' hide UserCredential;
有关更多说明,请查看此网站dart-flutter-how-to-solve-naming-conflict-or-ambiguous