Swift Can';t显示Firebase数据库中的用户数据

Swift Can';t显示Firebase数据库中的用户数据,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,我的应用程序能够从Firebase的数据库加载数据,但现在我无法显示它。我假设这与Firebase更新有关。我可以通过调用.child(“用户”).child((currentUser?.uid)!).child(“用户详细信息”)访问数据,当前用户为Auth.Auth().currentUser。方法改变了吗?iOS应用程序如何从Firebase读取数据 我得到以下错误: 位于/users/(userID省略)/userDetails的侦听器失败:权限被拒绝 TIC TCP连接失败[9:0x

我的应用程序能够从Firebase的数据库加载数据,但现在我无法显示它。我假设这与Firebase更新有关。我可以通过调用.child(“用户”).child((currentUser?.uid)!).child(“用户详细信息”)访问数据,当前用户为Auth.Auth().currentUser。方法改变了吗?iOS应用程序如何从Firebase读取数据

我得到以下错误:

位于/users/(userID省略)/userDetails的侦听器失败:权限被拒绝 TIC TCP连接失败[9:0x604000169e40]:1:61错误(61) HTTP加载失败(错误代码:-1004[1:61]) 任务已完成,但出现错误-代码:-1004
遇到网络错误。代码,错误:-1004,错误域=nsurErrorDomain代码=-1004“无法连接到服务器。”

默认情况下,Firebase项目中的数据库只能由经过身份验证的用户访问:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}
{
  "rules": {
    "users": {
      ".read": true,
      ".write": true
    }
  }
}
因此,要显示用户数据,您需要更改规则以允许未经身份验证的用户:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}
{
  "rules": {
    "users": {
      ".read": true,
      ".write": true
    }
  }
}
或在尝试访问用户数据之前对用户进行身份验证:

Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
  if error == nil {
    // Success!
  } else {
    // Sign in failed
  }  
}

检查firebase规则以确保其允许。在“用户”节点“用户”处读取:{“$uid”:{.read”:“auth!=null&&auth.uid==$uid”、“.write”:“auth!=null&&auth.uid==$uid”}