Firebase iOS数据观察员在iPhone上没有定期响应

我们的iOS应用中的 Firebase 数据观察员几天后就停止了响应 。 在模拟器上工作正常但挂在真实设备上。

自从我们的应用程序中没有任何内容发生变化,我们对Firebase的行为方式毫无头绪。

我们在当前的计划配额中使用得很好。 我们在上个月的整个星期看到了这个问题。 神秘的是,所有这些都从4月1日开始正常工作, 正好是一周到昨天。

任何人都可以指导我们解决? 我们尝试了社区关于同一问题的一些解决方法,例如禁用bitcode,但它们不起作用。

应用更新后,这会发生在你身上吗? – 我也有这样的问题……在我的情况下,没有调用完成块。 我正在写答案,因为我没有声誉可以发表评论。

最后我们解决了问题。 它与身份validation令牌问题有关。

通过启用Firebase登录,了解有关实际问题的更多信息

FIRDatabase.setLoggingEnabled(true) 

在日志中我们看到了消息:

获取令牌时出错:Error Domain = FIRAuthErrorDomain Code = 17011“没有与此标识符对应的用户记录。用户可能已被删除。” UserInfo = {NSLocalizedDescription =没有与此标识符对应的用户记录。 用户可能已被删除。,error_name = ERROR_USER_NOT_FOUND}

我们在用户登录之前从实时数据库中获取了一些有用的信息(“/ metadata / *”)(本质上是auth为空)。 我们的数据库规则允许:

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

虽然我们的数据库规则允许访问,但Firebase倾向于使用authToken,这可能是由于默认的“auth!= null”规则保护了所有其他规则。

我们现在通过在signIn之后获取元数据来解决问题,一切都很好。

希望有人觉得这很有用。