Поскольку вы упомянули, что не хотите переименовывать свои собственные классы, существует несколько способов решения вашей проблемы.
Кстати, User class - это просто an NS_SWIFT_NAME
класса FIRUser
.
Разблокируйте свой модуль, если вы установили Firebase через Cocoapods. Затем отредактируйте класс FIRUser.h
, расположенный в Pods / FirebaseAuth / FIRUser.h. Либо вы удалите строку NS_SWIFT_NAME(User)
, либо переименуйте ее во что-нибудь другое.
Если вы не хотите ничего редактировать в своем SDK Firebase, примите тот факт, что у него есть имя Swift User
, а при использовании класса Firebase User
, возможно, используйте его как FirebaseAuth.User
. Он по-прежнему будет работать, рассмотрите пример кода ниже:
override func viewDidLoad() {
super.viewDidLoad()
Auth.auth().signInAnonymously { (result, error) in
let user = User(name: "fafa")
let firUser = Auth.auth().currentUser
if user is User {
print("ViewController: User is a local user")
}
if user is FirebaseAuth.User {
print("ViewController: User is not firebaseauth user")
}
if firUser is User {
print("ViewController: Firebase user is not user local")
}
if firUser is FirebaseAuth.User {
print("ViewController: Firebase user is firebaseauth user")
}
}
}
печатает:
ViewController: User is a local user
ViewController: Firebase user is firebaseauth user