ren*_*ass 1 firebase swift firebase-authentication
我正在尝试在Firebase身份验证中访问用户的uid.我在我的代码中创建了一个createUser完成块,在块的末尾我想检查我命名为firUser的用户.当我尝试添加firUser.uid我的用户时,我收到错误消息
"'AuthDataResult'类型的值没有成员'uid'"
下面是我写的代码的副本,希望有人可以帮助我.
Auth.auth().createUser(withEmail: email, password: password, completion: { (firUser, error) in
if error != nil {
// report error
} else if let firUser = firUser {
let newUser = User(uid: firUser.uid, username: username, fullName: fullName, bio: "", website: "", follows: [], followedBy: [], profileImage: self.profileImage)
newUser.save(completion: { (error) in
if error != nil {
// report
} else {
// Login User
Auth.auth().signIn(withEmail: email, password: password, completion: { (firUser, error) in
if let error = error {
// report error
print(error)
} else {
self.dismiss(animated: true, completion: nil)
}
})
}
})
}
})
Run Code Online (Sandbox Code Playgroud)
根据指南,使用时.createUser,
如果新帐户已成功创建,则用户已登录,您可以从传递给回调方法的结果对象中获取用户的帐户数据.
请注意,在示例中,您将返回authResult,而不是User对象.authResult包含一些信息,包括用户.您可以使用用户authResult.user.
此外,在调用方法时,如果成功,则用户已经登录,因此没有理由再次登录.我将参数名称更改为authResult样本以帮助消除一些混淆.
Auth.auth().createUser(withEmail: email, password: password, completion: { authResult, error in
if let error = error {
// report error
return
}
guard let authResult = authResult else { return }
let firUser = authResult.user
let newUser = User(uid: firUser.uid, username: username, fullName: fullName, bio: "", website: "", follows: [], followedBy: [], profileImage: self.profileImage)
newUser.save(completion: { (error) in
if let error = error {
// report
} else {
// not sure what you need to do here anymore since the user is already signed in
}
})
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1517 次 |
| 最近记录: |