gpt4 book ai didi

ios - 将 Firestore DB 与 swift 4.0 一起使用,每次我进行身份验证时,保存到数据库都会创建一个随机字 rune 档

转载 作者:行者123 更新时间:2023-11-28 13:51:26 25 4
gpt4 key购买 nike

我正在使用 swift 4.0 创建一个 iPhone 应用程序。我正在连接到目前可用的 Firestore。我遇到的问题是每次对用户进行身份验证时都会创建一个随机字 rune 档。我想更改此设置,使电子邮件地址成为数据库中的注册文档,这样下次我使用相同的凭据登录时,它会使用相同的文档。

let databaseRef = Database.database().reference(fromURL: “*****************”)
let storage = Storage.storage().reference()
let db = Firestore.firestore()
var ref: DocumentReference? = nil
var handle: AuthStateDidChangeListenerHandle?
var checkBtnTitle:Bool = true


override func viewDidLoad() {
super.viewDidLoad()
if Auth.auth().currentUser != nil {
let currentUser = Auth.auth().currentUser
btnLogOut.title = "LogOut"
btnLogin.title = "Login"
var ref: DocumentReference? = nil
ref = db.collection("Solicitor").addDocument(data: [
"userID": currentUser?.email! as Any,
"Name": currentUser?.displayName as Any
]) { err in
if let err = err {
print("Error adding document: \(err)")
} else {
print("Document added with ID: \(ref!.documentID)")
}
}
} else {
btnLogOut.title = "Login"
btnLogin.title = ""
}

// google signin
GIDSignIn.sharedInstance()?.uiDelegate = self

Image of DB and random generated character

最佳答案

当您调用 addDocument() 时,Firestore 使用自动生成的 ID 创建一个新文档。如果要控制文档的ID,应该使用document()setData() 方法。例如:

ref = db.collection("Solicitor").document(currentUser?.email!).setDate(data: [
"userID": currentUser?.email! as Any,
"Name": currentUser?.displayName as Any
])

有关这方面的更多信息,请参阅 Firebase documentation on adding documents .

关于ios - 将 Firestore DB 与 swift 4.0 一起使用,每次我进行身份验证时,保存到数据库都会创建一个随机字 rune 档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54565605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com