Firebase既不提供回调也不提供错误

时间:2016-06-07 05:40:21

标签: ios swift firebase firebase-realtime-database

我正在从firebase数据库中检索数据。

当我从模拟器调试代码时,它会提供来自该节点的所有数据,但是当我从设备调试代码时,它既没有进入成功块也没有进入错误块。没有任何事情发生。

我写的代码如下。

FIRDatabase.database().reference().child("registeredUserEmail").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
        debugPrint(snapshot.value)
        if snapshot.hasChild(email.escapeEmail()) {
            debugPrint("false")
            completion(false)
        }
        else {
            debugPrint("true")
            completion(true)
        }
    }) { (error) in
        debugPrint("error in isEmailFree - " + error.localizedDescription)
        completion(false)
    }

以下是应用首次启动时的控制台日志

2016-06-07 11:36:30.471 [4067:1092564]配置默认应用。 2016-06-07 11:36:30.530 [4067:] Firebase Analytics v.3200000已启动 2016-06-07 11:36:30.532 Artup [4067:]要启用调试日志记录,请设置以下应用程序参数:-FIRAnalyticsDebugEnabled 2016-06-07 11:36:30.576 [4067:1092564] Firebase崩溃报告:已成功启用 2016-06-07 11:36:30.590:启用FIRInstanceID AppDelegate代理,将调配app委托远程通知处理程序。要禁用添加" FirebaseAppDelegateProxyEnabled"到您的Info.plist并将其设置为NO 2016-06-07 11:36:30.659 Artup [4067:]自动成功创建Firebase Analytics App委托代理。要禁用代理,请在Info.plist中将标志FirebaseAppDelegateProxyEnabled设置为NO 配置未获取 错误错误域= com.google.remoteconfig.ErrorDomain代码= 8002"(null)"的UserInfo = {error_throttled_end_time_seconds = 1465279698.4105051} 2016-06-07 11:36:31.450 Artup [4067:]启用Firebase Analytics

2 个答案:

答案 0 :(得分:1)

从错误日志中看,错误直接来自RemoteConfig fetch。这是在您的应用代表中的某处进行检测吗?

在日志结尾处,以下部分是您感兴趣的。 {error_throttled_end_time_seconds=1465279698.4105051}。这段时间转换为 2016年6月7日,下午4:08 。现在起初这看起来像4.5小时的限制到期但这不太可能。这个时间很可能是UTC时间,您必须将其调整为您的日志记录的当地时区 2016-06-07 11:36:30.471

关于右边的30分钟节流声。不幸的是,我无法找到关于限制的严格规则的文档。

答案 1 :(得分:0)

从iOS上的其他Firebase产品和UserInfo位,我认为请求受到限制。 Firebase远程配置会限制您的请求 - 但我无法代表数据库。我在Firebase文档中没有看到有关此内容的任何内容,但似乎可能是此错误的原因。

相关问题