2017-04-01 17 views
-3

Parseを終了してFirebaseに移動した後、電子メールとパスワードでサインアップするだけで問題が発生しました。ユーザー、電子メール、パスワードを使ったFirebaseサインアップ

+0

がhttp://stackoverflow.com/q/32151178 –

+0

は私がアンドロイドについてリンク質問会談を考えてください、行うには同じものですか...これを試してみてください@FrankvanPuffelen – Abdullah

+0

Firebase SDKはプラットフォーム間で同じように動作します。リンクされた回答のアプローチは、iOSでも有効です。問題を起こしている場合は、[あなたがどこにいるかを再現する最小限の、完全なコード](http://stackoverflow.com/help/mcve)を共有してください。 –

答えて

2

FIRAuth.auth()?.createUser(withEmail: emailField.text!, password: passwordField.text!, completion: { (user: FIRUser?, error) in 
      if error != nil { 
       print(error) 
       return 

      } else { 
      print("User Created...") } 

      guard let uid = user?.uid else { return } 

      // You can set these values to whatever you want, plus add more! 
      let values = ["email": emailField.text!, "username": usernameField.text!] as [String : Any] 

     // Then pass your values into another function called 'RegisterUserIntoDatabase' 
     // which creates the user in your Firebase Database... 

      self.registerUserIntoDatabase(uid, values: values as [String : AnyObject]) 
     }) 


private func registerUserIntoDatabase(_ uid: String, values: [String: AnyObject]) { 
    // Adding User Info 
    let ref = FIRDatabase.database().reference() 
    let usersReference = ref.child("users").child(uid) 

    usersReference.updateChildValues(values, withCompletionBlock: { (err, ref) in 
     if err != nil { 
      print(err) 
      return 
     } 
     print("Successfully Added a New User to the Database") 
    }) 
} 
+0

fileprivate func?プライベートファンクションを意味しますか?私はfileprivateを使用してエラーが発生したためです。サー、助けてくれてありがとう。 – Abdullah

+0

問題ありません!これがあなたを助けたら、この回答を選んでいただければ幸いです。 –

+0

私はちょうどしました。あなたはそれに値する!どうもありがとうございます! – Abdullah

0
func handleRegister(email:String, password:String, username:String) { 

    //Create User 
    FIRAuth.auth()?.createUser(withEmail: email, password: password, completion: { (user, err) in 

     if err != nil { 
      print(err!.localizedDescription) 
      return 
     } 

     //Success! User Created! 

     if let userID = user?.uid { 

      //Create User Profile 
      let databaseRef = FIRDatabase.database().reference() 
      let usersRef = databaseRef.child("Users").child(userID) 

      let usernameValue = ["username":username] 

      usersRef.updateChildValues(usernameValue, withCompletionBlock: { (err, ref) in 

       if err != nil { 
        print(err!.localizedDescription) 
        return 
       } 

       //Profile created and updated! 
       //You can use perform segue or present controller to go to another controller... 
      }) 

     } 

    }) 

} 
+0

関数をどのように呼び出す必要がありますか?サー、助けてくれてありがとう。 – Abdullah

+0

サインアップ/登録ボタン操作の内部でこの関数を呼び出します。 –

関連する問題