title: Firebase Phone Number Authentification IOS Error: Optional("Token mismatch")
body: <p>Hi I have follow the tutorial for the phone number auth in swift , this is my code:</p>
  
  <pre><code>import UIKit
  import FirebaseAuth
  
  class SignInViewController: UIViewController {
  
  @IBOutlet weak var number: UITextField!
  
  override func viewDidLoad() {
      super.viewDidLoad()
  
  
      let myColor : UIColor = UIColor.white
      number.layer.borderWidth = 2.0
      number.layer.borderColor = myColor.cgColor
      number.layer.cornerRadius = 15.0
      number.attributedPlaceholder = NSAttributedString(string :"Enter your number", attributes : [NSForegroundColorAttributeName : UIColor.white] )
  
  }
  
  @IBAction func sendCode(_ sender: Any){
      let alert = UIAlertController(title: "Phone Number", message: "Is this your phone number? \n \(number.text!)", preferredStyle: .alert)
  
      let action = UIAlertAction(title: "Yes", style: .default) {(UIAlertAction) in
          PhoneAuthProvider.provider().verifyPhoneNumber(self.number.text!){ (verificationID, error) in
              if error != nil{
                  print("Error: \(String(describing: error?.localizedDescription))")
              }else {
  
                  let defaults = UserDefaults.standard
                  defaults.set(verificationID, forKey: "authVID")
                  self.performSegue(withIdentifier: "code", sender: Any?.self)
  
              }
  
          }
  
      }
  
      let cancel = UIAlertAction(title: "No", style: .cancel, handler: nil)
      alert.addAction(action)
      alert.addAction(cancel)
      self.present(alert,animated : true, completion : nil)
  
  
  }
  
  
  
  override func didReceiveMemoryWarning() {
      super.didReceiveMemoryWarning()
      // Dispose of any resources that can be recreated.
  }
  
  }
  </code></pre>
  
  <p>and for the verification this code : </p>
  
  <pre><code>      import UIKit
        import FirebaseAuth
  
        class VerificationCodeViewController: UIViewController {
  
  @IBOutlet weak var code: UITextField!
  
  override func viewDidLoad() {
      super.viewDidLoad()
  
      let myColor : UIColor = UIColor.white
      code.layer.borderWidth = 2.0
      code.layer.borderColor = myColor.cgColor
      code.layer.cornerRadius = 15.0
      code.attributedPlaceholder = NSAttributedString(string :"Enter  your verification code", attributes : [NSForegroundColorAttributeName : UIColor.white] )
  
      // Do any additional setup after loading the view.
  }
  
  @IBAction func verifyCode(_ sender: Any) {
      let defaults = UserDefaults.standard
      let credential : PhoneAuthCredential = PhoneAuthProvider.provider().credential(withVerificationID: defaults.string(forKey: "authVID")!, verificationCode: code.text!)
  
      Auth.auth().signIn(with: credential) { (user,error) in
          if error != nil {
              print("error: \(String(describing: error?.localizedDescription))")
              }else{
  
              print("Phone number: \(String(describing: user?.phoneNumber))")
              let userInfo = user?.providerData[0]
              print("Provider ID: \(String(describing: userInfo?.providerID))")
              self.performSegue(withIdentifier: "logged", sender: Any?.self)
          }
      }
  }
  
  
  
  override func didReceiveMemoryWarning() {
      super.didReceiveMemoryWarning()
      // Dispose of any resources that can be recreated.
  }
  
  }
  </code></pre>
  
  <p>I run my app I enter the number but i get this error Error:</p>
  
  <blockquote>
    <p>Optional("Token mismatch")</p>
  </blockquote>
  
  <p>Thanks you for help </p>