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

在我的iOS/Swift/Firebase应用程序中,我试图在用户通过电子邮件/密码成功登录后访问“isNewUser”参数,以便我可以弹出一个窗口,迫使他们从用户创建时最初分配的临时密码重置密码


如有任何见解,将不胜感激。谢谢。

可以从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)})