-2

i am setting the user information in signInController. signupController needs to populate the same information if any mandatory fields are missing or the data needs to be updated,but the user default is nil when retrieved from in signupcontroller.

SignInController: setting the user default

  private var user: UserDefaults?self.user?.set((result as? [AnyHashable : Any])?["name"], forKey: "username")
  self.user?.set((result as? [AnyHashable : Any])?["id"], forKey: "userid")
  self.user?.set((result as? [AnyHashable : Any])?["email"], forKey: "useremail")
  self.user?.set((((result as? [AnyHashable : Any])?["picture"] as? [AnyHashable : Any])?["data"] as? [AnyHashable : Any])?["url"], forKey: "userpic")
  self.user?.synchronize()

In SignUpController

 private var user: UserDefaults?

 func populateData ()
    {

        print("UserDefaults.standard.dictionaryRepresentation().values)=======>",user?.dictionaryRepresentation().keys)
        print("Facebook handler===", user?.object(forKey: "name"))

        textName.text = (user?.object(forKey: "name")  ?? "") as! String
        textEmail.text = (user?.object(forKey: "mail") ?? "") as! String
        userPhone.text = (user?.object(forKey: "phone") ?? "")  as! String

        print("The data is Name : ",textName.text)
        print("The data is Email : ",textEmail.text)
        print("The data is Phone : ",userPhone.text)


    }

This is the output from the print statement.

UserDefaults.standard.dictionaryRepresentation().values)=======> nil
Facebook handler=== nil
The data is Name :  Optional("")
The data is Email :  Optional("")
The data is Phone :  Optional("")
uma
  • 9
  • 1
  • 6

1 Answers1

0

As Kamal said we can use firebase.google.com/docs/auth for creating an OTP in swift app.

uma
  • 9
  • 1
  • 6