Firebase,Swift:无法检索数据

法比安·布维斯特(Fabian Bouwmeester)

我正在尝试做一个简单的任务,从Firebase获得价值。我在下面的图像中添加了相关屏幕。至少一个打印命令应将一条消息打印到控制台,但是它不起作用。我一直在尝试修复它1.5天,但我仍然不知道为什么它不起作用。

码:

import UIKit
import Firebase

class MainVC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let ref = FIRDatabase.database().reference()

        ref.child("zonneschijn").observeSingleEventOfType(.Value, withBlock: { snapshot in
            if snapshot.value is NSNull {
                print("Does not exist currently")
            } else {
                print("Exists currently")
            }

        })
    }
}

我也曾尝试使用viewDidAppear,但也没有成功。

具有相关屏幕的图像

德拉威

如果您不验证用户的身份。

转到Firebase控制台中的Rules选项卡Realtime Database

firebase的默认安全规则如下:

{
 "rules": {
    ".read": "auth != null",
    ".write": "auth != null"

   }
}

这意味着只有经过身份验证的用户(已使用gmail,Facebook,gitter,email..etc登录的用户)才能读取或写入数据...显然,您不对用户进行身份验证,这就是为什么您无法使用来检索任何数据这些默认的安全规则。

这是一个很好的做法,它只允许经过身份验证的用户访问数据库,因为它更加安全。如果您仍然想读取数据,请将安全规则修改为:-

警告: -不推荐,如果你正在应用程序,有一些私人DB。

   // These rules give anyone, even people who are not users of your app,
    // read and write access to your database

    {
      "rules": {
        ".read": true,
        ".write": true
      }
    }

更好的选择:

请阅读:安全规则的

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章