2017-04-12 67 views
0

我使用位數 - 由Twitter API的電話號碼驗證,快速的場景:用戶水龍頭上註冊按鈕ex: LoginViewController - >Digits API初始化,以驗證他的電話號碼 - >後驗證成功的應用程序應該移動到下一個視圖控制器ex: HomeViewController但是會發生什麼情況是,當用戶成功驗證該應用程序返回到以前是LoginViewController!這裏是我的代碼:如何在成功驗證後導航至視圖控制器?

LoginViewController故事板

// MARK: - Sign Up Button 
@IBAction func signUpPressed(_ sender: Any) { 

    let configuration = DGTAuthenticationConfiguration(accountFields: .defaultOptionMask) 

    configuration?.appearance = DGTAppearance() 
    configuration?.appearance.backgroundColor = UIColor.white 
    configuration?.appearance.accentColor = UIColor.red 

    // Start the Digits authentication flow with the custom appearance. 
    Digits.sharedInstance().authenticate(with: nil, configuration:configuration!) { (session, error) in 
     if session != nil { 

      //Print Data 
      print(session?.phoneNumber!) 
      print(session?.userID!) 

      // Navigate to the main app screen to select a theme. 
      self.performSegue(withIdentifier: "toSignUpVC", sender: self) 

     } else { 
      print("Error") 
     } 
    } 

} 

例子:

Storyboard

注:後的應用程序返回到LoginViewController我可以去SignUpViewController成功之後我再次點擊SignUp按鈕,因爲Digit在第一次註冊設備時,爲什麼數字不會移動到下一個視圖控制器,而不是返回到LoginViewController,任何用戶都不會知道他是否成功註冊了!

回答

0

您可以通過添加下面的代碼來解決您的問題。應該在函數執行後調用Closure。

let deadline = DispatchTime.now() + .seconds(1) 
    DispatchQueue.main.asyncAfter(deadline: deadline) 
    { 
    self.performSegue(withIdentifier: "toSignUpVC", sender: self) 
    } 
相關問題