• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 当前用户属性更改的 Firebase 监听器

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:34:16 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想根据 Firebase currentUser 参数 isEmailVerified 的更改来关闭 ViewController。基本上,如果用户登录到应用程序并且没有验证她的电子邮件,则会显示这个 VC,我的计划是让它一直留在那里直到她验证它,在这种情况下,Firebase 会自动将 isEmailVerified 设置为 true,并且 VC 应该被解雇。到目前为止,我已经附加了一个监听器来识别 currentUser 的变化,但它似乎不起作用。我做错了什么?

override func viewDidLoad() {

    super.viewDidLoad()

    // Create listener

    let _ = Auth.auth().addStateDidChangeListener { (auth, user) in

        if user?.isEmailVerified == true {
            self.presentingViewController?.dismiss(animated: true, completion: nil)
        }
    }
}



Best Answer-推荐答案


[[FIRAuth auth] signInWithEmail:emailTxt.text
                           password:pwdStr
                         completion:^(FIRUser *user, NSError *error) {

                             if(error == nil){
                                 if (user.isEmailVerified) {
          //  present different VC
           // if user is not isEmailVerified  is not true show alert to user 
                please verify email in order to proceed

               }
                } withCancelBlock:^(NSError * _Nonnull error) {
                                         // dismiss view
                 }];

在这里您可以看到用户的电子邮件验证状态,并根据显示 View Controller 或什么都不做

否则,在上述方法之后,在电子邮件验证的 else 条件中使用计时器方法来触发以下方法并检查用户验证的电子邮件是否

func checkIfTheEmailIsVerified(){

FIRAuth.auth()?.currentUser?.reload(completion: { (err) in
    if err == nil{

        if FIRAuth.auth()!.currentUser!.isEmailVerified{

     // Your code
        } else {

            print("It aint verified yet")

        }
    } else {

        print(err?.localizedDescription)

    }
})

}

关于ios - 当前用户属性更改的 Firebase 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45882865/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap