Swift/Firebase数据库无效的令牌错误



遇到firebase的一些相当奇怪的问题。.我已经通过可可录安装了firebase,包括googleservice -info.plist等 - 但是当我尝试从Firebase中阅读价值时,我得到了此错误:

2016-06-16 12:10:04.598 MP [78421:13128189] [firebaseadasatabase]身份验证失败:invalid_token(auth token in auth token in aud'

我每次尝试启动一个新项目时都会得到这个,但一次我已经放弃了该项目,因为我正在开始一个新项目。这是简单的代码:

import UIKit
import Firebase
import FirebaseDatabase
class ViewController: UIViewController {
    var ref:FIRDatabaseReference!
    override func viewDidLoad() {
        super.viewDidLoad()
        ref = FIRDatabase.database().reference()
        ref.observeSingleEventOfType(.Value) { (snapshot:FIRDataSnapshot) in
            var val = snapshot.value! as? String
            print(val)
        }
    }
}

我该如何修复?

此错误消息表明令牌中的项目与您的应用程序要连接到的项目不匹配。摘自Firebase-Talk组上的帖子:

有几种方法可以打以下方式:

  1. 您已经更改了GoogleService-info.plist指向另一个项目,但是您的应用程序仍然具有以前的运行中的缓存令牌。

  2. 我相信iOS模拟器共享应用程序之间的键链,因此,如果您使用Firebase有多个应用程序,则一个应用程序可能正在拾取另一个应用程序缓存的令牌。此仅发生在模拟器中,我们正在努力更改firebase SDK以避免这种情况。

无论哪种情况,您都可以在初始化firebase数据库之前通过进行明确的signOut()调用来解决问题。

我想发送OTP并获取通知时,我遇到了同样的问题,我在Apple Developer Console上创建了APN键,然后将其添加到Firebase,之后一切顺利:

在此处输入图像描述

最新更新