前提・実現したいこと
FirebaseAuth
を使用し、ユーザーが新規登録する際にGetしたuid
をドキュメントのIDとして扱いたいです。
そのドキュメントのフィールドにはユーザーネーム、登録日を保存したいです。
発生している問題・エラーメッセージ
公式ドキュメントを参考に実装してましたが、エラーは出ないものの、Firestoreにデータが保存されていません。
実装方法をご教示いただきたいです。
該当のソースコード
Swift
1import UIKit 2import Firebase 3 4class RegisterViewController: UIViewController { 5 6 @IBOutlet weak var emailTextField: UITextField! 7 @IBOutlet weak var passwordTextField: UITextField! 8 @IBOutlet weak var usernameTextField: UITextField! 9 10 override func viewDidLoad() { 11 super.viewDidLoad() 12 } 13 14 @IBAction func registerButton(_ sender: UIButton) { 15 16 let email = emailTextField.text ?? "" 17 let password = passwordTextField.text ?? "" 18 let username = usernameTextField.text ?? "" 19 20 Auth.auth().createUser(withEmail: email, password: password) { (user, error) in 21 if let error = error { 22 print("Error creating user: (error.localizedDescription)") 23 } 24 25 let changeRequest = user?.user.createProfileChangeRequest() 26 changeRequest?.displayName = username 27 changeRequest?.commitChanges(completion: { (error) in 28 if let error = error { 29 print(error.localizedDescription) 30 } 31 }) 32 33 guard let userId = user?.user.uid else { return } 34 Firestore.firestore().collection("users").document(userId).setData([ 35 "username" : username, 36 "dateCreated" : FieldValue.serverTimestamp() 37 ], completion: { (error) in 38 if let error = error { 39 print(error.localizedDescription) 40 } else { 41 self.dismiss(animated: true, completion: nil) 42 } 43 }) 44 } 45 } 46}
試したこと
公式ドキュメントを参考に実装。
Cloud Firestore にデータを追加する
iOS で Firebase Authentication を使ってみる
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。