Firebase适用于模拟器,但不适用于iPhone

时间:2016-08-27 02:08:15

标签: ios objective-c xcode firebase firebase-realtime-database

我正在尝试使用以下内容从Firebase数据库中提取某个View Controller的数据:

_refHandle = [_postRef observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
  NSDictionary *postDict = snapshot.value;
  // ...
}];

代码在模拟器中运行良好,但在iPhone上不起作用(代码被跳过)。我在我的应用程序的其他部分使用这段代码,它可以在设备和模拟器上运行。我还将这段代码实现为一个用于提取数据的自定义方法(仍然不起作用)。有谁知道为什么这不适用于真实设备?

2 个答案:

答案 0 :(得分:0)

这是因为您的安全规则。在Firebase控制台中:

  • 转到数据库菜单项
  • 转到“规则”标签
  • 将安全规则更新为:

    {
      "rules": {
        ".read": true, // Or whatever rule you would like
        ".write": "auth != null"
      }
    }
    

答案 1 :(得分:0)

转到数据库菜单项

转到规则标签

将安全规则更新为(对于真实设备):

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

将安全规则更新为(用于真实模拟器测试):

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