【发布时间】:2021-12-19 09:18:02
【问题描述】:
用例:围绕电子邮件构建应用程序(此处包含三个重要子项)。现在我只希望手机登录用户拥有相同的孩子。 所以下面这样的事情一定不会产生错误(它目前确实如此)。我可以通过电话登录做其他所有事情(甚至创建一个带有电话号码的用户),但我希望他也有这些孩子,因为当用户使用电话而不是电子邮件时。
Auth.auth().createUser(withEmail: ResultString, password: remainingPart) { (user, error) in
let databaseRef = Database.database().reference()
guard error == nil else { return }
guard let user = user else { return }
let userObject =
[
"users": ResultString,
"postID": user.user.uid,
"e2": remainingPart,
] as [String: Any]
databaseRef.child("people").child(user.user.uid).setValue(userObject)
print("YESSSSS")
}
【问题讨论】:
-
您共享的代码的哪一部分没有按照您的预期执行?
-
YESSSSS 永远不会被打印出来。
Auth.auth().createUser(withEmail: ResultString, password: remainingPart) { (user, error)将其视为错误,因为ResultString是电话号码而不是电子邮件,remainingPart是电话号码的最后 4 位数字,而不是实际密码。我想虽然问题是电子邮件是电话号码并且没有@ -
如果
createUser(withEmail:, password:)中有错误,那么error变量会告诉您出了什么问题。我建议检查该值。 -
我试过了,它打印出来:
Error Domain=FIRAuthErrorDomain Code=17008 "The email address is badly formatted." UserInfo={NSLocalizedDescription=The email address is badly formatted., FIRAuthErrorUserInfoNameKey=ERROR_INVALID_EMAIL} error .所以我认为电话号码不会被接受为电子邮件
标签: swift firebase firebase-realtime-database firebase-authentication