iOS/Swift/Firebase身份验证:访问时需要帮助;isNewUser";
在我的iOS/Swift/Firebase应用程序中,我试图在用户通过电子邮件/密码成功登录后访问“isNewUser”参数,以便我可以弹出一个窗口,迫使他们从用户创建时最初分配的临时密码重置密码iOS/Swift/Firebase身份验证:访问时需要帮助;isNewUser";,ios,swift,firebase-authentication,Ios,Swift,Firebase Authentication,在我的iOS/Swift/Firebase应用程序中,我试图在用户通过电子邮件/密码成功登录后访问“isNewUser”参数,以便我可以弹出一个窗口,迫使他们从用户创建时最初分配的临时密码重置密码 如有任何见解,将不胜感激。谢谢。可以从FirebaseAuth AdditionalUserInfo类获得.isNewUserBool。 . 为了使用这段代码,请参阅我在下面编写的一个演示登录函数 Auth.auth().signIn(with: credential) { (result, erro
如有任何见解,将不胜感激。谢谢。可以从FirebaseAuth AdditionalUserInfo类获得
.isNewUser
Bool。
. 为了使用这段代码,请参阅我在下面编写的一个演示登录函数
Auth.auth().signIn(with: credential) { (result, error) in
if let error = error {
print("Error: \(error)");
return;
}
// Fetch the user's info
guard let uid = result?.user.uid else {return}
// Safely unwrap the boolean value rather than forcing it with "!" which could crash your app if a nil value is found
guard let newUserStatus = result?.additionalUserInfo?.isNewUser else {return}
// Test the value
print("\nIs new user? \(newUserStatus)\n")
if newUserStatus == true {
// Provide your alert prompt
}
else{
// Transition view to continue into the app
}
}
是否有ISNewUser参数?在Firebase文档中找不到它没有。要检测用户是否是新用户,请比较中的lastSignInDate和creationDate属性。我在Firebase材质中的“FirebaseAuth Framework reference”下找到了“AdditionalUserInfo”的引用,根据材质,该引用“指示当前用户是否是第一次登录的。”代码片段,它给出了一个“init()不可用”错误,是:Auth.Auth().sign(电子邮件地址!密码:accountPassword!),如果错误==nil,则完成:{(用户,错误){if(AuthDataResult().additionalUserInfo?.isNewUser)!{self.forceNewPassword()}否则{self.signinsucess()}}else{let errorCode=(error!as NSError).code self.signinFailure(errorCode)})