Firebase数据库查询订单功能不起作用

时间:2017-04-10 17:42:04

标签: ios firebase swift3 firebase-realtime-database firebase-authentication

我刚刚将Facebook登录功能添加到我的firebase应用程序中。为了在用户第一次登录时添加一些附加信息,我添加了一个控制功能。为确保用户每次使用自己的Facebook帐户登录时都不会输入注册表格,我想检查他是否已在该注册表格中添加了一些额外信息。

为此,我决定检查他的UID是否已保存在FIRDatabase中。因为如果您使用Facebook登录,您只需创建一个FIRAUth,而不是FIRDATAbase上的参考。但是这个功能不起作用。

该函数始终返回,FIRDatabase中已有一个引用不正确。

func checkIfUserIsregistered() {
    print("function is called")
    if FIRAuth.auth()?.currentUser?.uid == nil{

        perform(#selector(handlelogout), with: nil, afterDelay: 0)

    }else{
        print("Kontrolle wird ausgeführt")
        let FirebaseUID = FIRAuth.auth()?.currentUser?.uid
        let UIDCheck = FIRDatabase.database().reference()
        UIDCheck.queryOrdered(byChild: "users").queryEqual(toValue: FirebaseUID).observe(.value, with: { snapshot in

            if snapshot.value == nil {
                print("User hat noch keine Datenbankreferenz")
                let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "FBRegister")
                self.present(vc, animated: true, completion: nil)

            }else {
                print("Der User hat bereits eine Datenbankreferenz")

                let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "usersVC")
                self.present(vc, animated: true, completion: nil)
            }
        })

    }
}

有没有人知道如何解决这个问题?

0 个答案:

没有答案