我正在从 firebase 数据库中检索数据。
当我从模拟器调试代码时,它会提供来自该节点的所有数据,但是当我从设备调试代码时,它既不会进入成功 block 也不会进入错误 block 。没有任何反应。
我写的代码如下。
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 代理,将 swizzle 应用程序委托(delegate)远程通知处理程序。要禁用将“FirebaseAppDelegateProxyEnabled”添加到您的 Info.plist 并将其设置为 NO 2016-06-07 11:36:30.659 Artup[4067:] 成功自动创建 Firebase Analytics 应用程序委托(delegate)代理。要禁用代理,请在 Info.plist 中将标志 FirebaseAppDelegateProxyEnabled 设置为 NO 未获取配置 错误 Error Domain=com.google.remoteconfig.ErrorDomain Code=8002 "(null)"UserInfo={error_throttled_end_time_seconds=1465279698.4105051} 2016-06-07 11:36:31.450 Artup[4067:] 启用 Firebase 分析
最佳答案
从错误日志来看,错误似乎直接来自 RemoteConfig 提取。这是否在您的应用委托(delegate)中的某处进行了检测?
在您日志的末尾,以下部分很有趣。 {error_throttled_end_time_seconds=1465279698.4105051}
。这次转换为 2016 年 6 月 7 日,下午 4:08。现在乍一看,这看起来像是 4.5 小时的限制到期,但这不太可能。这是最有可能采用 UTC 的时间,您必须将其调整为您的日志记录的本地时区 2016-06-07 11:36:30.471
30 分钟的节流声差不多。不幸的是,我找不到有关节流的严格规则的文档。
关于ios - Firebase 既不给出回调也不给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37671331/