【问题标题】:Swift: I am getting error in firebase mobile authenticationSwift:我在 firebase 移动身份验证中遇到错误
【发布时间】:2018-01-29 05:19:04
【问题描述】:

调用时出错

PhoneAuthProvider.provider().verifyPhoneNumber(txtmobile.text!) { (verificationID, error) in
    if error != nil {
          Model.shared.showAlert(msg: (error?.localizedDescription)!, vc: self)
          return
    }
}

错误是“令牌不匹配”

【问题讨论】:

标签: ios iphone firebase swift3 firebase-authentication


【解决方案1】:

首先将您的项目配置为 firebase

在签名方法电话启用的身份验证部分中

下载信息播放列表并通过拖放添加到项目中

安装所需的 pod

添加中的应用委托

     import Firebase
     import FirebaseAuthUI

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
          FirebaseApp.configure()
    }

在视图控制器中你需要验证电话号码

          import FirebaseAuth
                import FirebaseAuthUI
                import FirebasePhoneAuthUI

         class viewController: UIviewcontroller,FUIAuthDelegate {
             override func viewDidLoad() {
                    super.viewDidLoad()

                  FUIAuth.defaultAuthUI()?.delegate = self
                  let phoneProvider = FUIPhoneAuth.init(authUI: FUIAuth.defaultAuthUI()!)
                  FUIAuth.defaultAuthUI()?.providers = [phoneProvider]
                  phoneProvider.signIn(withPresenting: self, phoneNumber: nil)
            }
            func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?) {
            if let user = user {
            print("I'm logged in")
            }
            else {
               print(error?.localizedDescription ?? "Something went wrong")
            }
      } 

【讨论】:

  • 有什么问题??
  • PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate: nil) { firebase 文档上的新版本导致我的应用程序崩溃。如果我删除 uiDelegate: nil 它可以工作!?
  • PhoneAuthProvider.provider().verifyPhoneNumber(self.phoneNumberTextField.text!, uiDelegate: nil) { (verificationID, error) in if let error = error { print("error: \(error.localizedDescription)") return } UserDefaults.standard.set(verificationID, forKey: "authVerificationID") UserDefaults.standard.synchronize() self.performSegue(withIdentifier: "enterVerificationCode", sender: self) }
猜你喜欢
  • 2016-11-14
  • 1970-01-01
  • 2018-11-19
  • 2017-06-18
  • 2017-03-18
  • 2012-02-14
  • 1970-01-01
  • 2022-12-15
相关资源
最近更新 更多