遇到Firebase的一些相当奇怪的问题..我已经通过cocoaPods安装了firebase,包括GoogleService-Info.plist等 - 但是当我尝试从Firebase读取值时,我收到此错误:
2016-06-16 12:10:04.598 MP [78421:13128189] [FirebaseDatabase]身份验证失败:invalid_token(无效声明' 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)
}
}
}
我该如何解决这个问题?
答案 0 :(得分:6)
此错误消息表示令牌中的项目与您的应用程序所连接的项目不匹配。来自post on the firebase-talk group:
有几种方法可以达到这个目的:
您已将GoogleService-Info.plist更改为指向其他项目,但您的应用仍然具有上一次运行的缓存令牌。
- 醇>
我相信iOS模拟器共享应用程序之间的钥匙串,因此如果您有多个使用Firebase的应用程序,则一个应用程序可能会选择另一个应用程序缓存的令牌。此仅在模拟器中发生,我们正在努力更改Firebase SDK以避免此情况。
在任何一种情况下,您都可以在初始化Firebase数据库之前通过明确
signOut()
调用来解决此问题。