Swift 无法获取默认Firebase数据库实例。必须调用“[FIRApp配置]
当我尝试将用户身份验证到Firebase时,可以,但当我尝试写入数据库用户的电子邮件地址时,会出现错误 我的代码:Swift 无法获取默认Firebase数据库实例。必须调用“[FIRApp配置],swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,当我尝试将用户身份验证到Firebase时,可以,但当我尝试写入数据库用户的电子邮件地址时,会出现错误 我的代码: import UIKit import Firebase class ViewController: UIViewController { @IBOutlet weak var emailField: UITextField! @IBOutlet weak var sifreField: UITextField! @IBOutlet weak var s
import UIKit
import Firebase
class ViewController: UIViewController {
@IBOutlet weak var emailField: UITextField!
@IBOutlet weak var sifreField: UITextField!
@IBOutlet weak var sifre1Field: UITextField!
var ref = Database.database().reference()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func kayitBtn(_ sender: Any)
{
if(sifreField.text != sifre1Field.text)
{
print("****error****")
}
else if ( !(emailField.text?.isEmpty)! || !(sifreField.text?.isEmpty)! || !(sifre1Field.text?.isEmpty)! )
{
Auth.auth().createUser(withEmail: emailField.text!, password: sifreField.text!) { (user, error) in
if error != nil
{
print ("***error***")
}
else if ( !(self.emailField.text?.isEmpty)! || !(self.sifreField.text?.isEmpty)! || !(self.sifre1Field.text?.isEmpty)! )
{
self.ref.child("users").child((user?.uid)!).setValue(["email": self.emailField.text!])
print("database ok")
}
}
}
}
}
my AppDelegate.swift(在didFinishLaunchingWithOptions
中添加了import Firebase
和FirebaseApp.configure()):
和我的控制台错误:
我现在该怎么办?谢谢你所做的一切
var ref: FIRDatabaseReference!
override func viewDidLoad() {
super.viewDidLoad()
ref = FIRDatabase.database().reference()
}
这将解决您的问题,并且应用程序不会崩溃。在您的
didFinishLaunchingWithOptions
中,从您的应用程序代理调用FIRapp.configure()
@Lamar yes,因为firebase希望我添加导入firebase
并添加FirebaseApp.configure()
代码在didFinishLaunchingWithOptions
yes,如果我记得这个方法是加载GooglePlist,它包含来自firebase的db路径。你这么做了吗?你发现另一个问题了吗?@Lamar是的,你是说GoogleService-Info.plist。我已经加了,但我弄糊涂了。我必须删除default Info.plist吗?我不记得了:D我希望我不要检查你的谷歌服务信息。plist
包含所有信息,大部分数据库URL不应该为空
var ref: FIRDatabaseReference!
override func viewDidLoad() {
super.viewDidLoad()
ref = FIRDatabase.database().reference()
}