Swift 用户注册后如何处理?

Swift 用户注册后如何处理?,swift,firebase-authentication,swiftui,Swift,Firebase Authentication,Swiftui,我需要注册我的用户的电话认证和电子邮件认证。这两件事我都做得很成功。然而,以我构建代码的方式,它有点脆弱 用户使用其电话号码注册后,将自动登录。但在他们访问应用程序之前,我需要他们也用电子邮件注册,但在他们用手机登录之前,我无法注册 Group { if (self.session.session != nil) { if user?.metadata.creationDate != user?.metadata

我需要注册我的用户的电话认证和电子邮件认证。这两件事我都做得很成功。然而,以我构建代码的方式,它有点脆弱

用户使用其电话号码注册后,将自动登录。但在他们访问应用程序之前,我需要他们也用电子邮件注册,但在他们用手机登录之前,我无法注册

Group {
        
        if (self.session.session != nil) {
            
            if user?.metadata.creationDate != user?.metadata.lastSignInDate {
                
                AppView()
                
            } else {
                
                EmailRegisterView()
                
            }

        } else {
        
            OnBoardingView()
        
        }
        
        
    }.onAppear(perform: {
        
        session.listen()
        
    })
根据我的代码,如果用户出于某种原因在创建帐户的同一天注销帐户,他们将再次被带到EmailRegisterView(),这将导致问题

是否有其他方法仅当用户是新用户时才将其重定向到EmailRegisterView(),并在完成后将其发送到AppView()

这是我的电话认证代码

func phoneRegister () {
    
    let credential = PhoneAuthProvider.provider().credential(withVerificationID: self.verificationCode, verificationCode: self.code)
                              
    Auth.auth().signIn(with: credential) { (result, error) in
                                  
        if error != nil{
                                      
            self.alertMessage = (error?.localizedDescription)!
            self.alert.toggle()
            return
        }
        
        
        UserDefaults.standard.set(true, forKey: "status")
                                  
        NotificationCenter.default.post(name: NSNotification.Name("statusChange"), object: nil)
    }
}

看起来您可以将密钥添加到用户默认值,并在用户每次打开应用程序时检查该值。
如果userdefault bool密钥(比如isuserregisted)不存在或设置为false,则导航到login page/register page并将该密钥设置为true。否则,如果该键设置为true,则只显示主视图。

以一个开放的花括号开始,以一个闭合的括号结束?@ElTomato请详细说明操作。我的错误。。。我的道歉。。。