0

我正在使用Digits - 通过 Twitter API 进行电话号码验证,这是一个快速场景:用户点击注册按钮ex: LoginViewController->Digits API初始化以验证他的电话号码 -> 成功验证后,应用程序应该移动到下一个视图控制器ex: HomeViewController,但会发生什么时候用户已成功验证应用程序返回上一个,即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")
        }
    }

}

故事板示例:

故事板

注意: App返回LoginViewController后,我再次点击SignUp按钮后可以成功进入SignUpViewController,因为Digits是第一次注册设备,所以为什么Digits没有移动到下一个View Controller而不是回到LoginViewController ,任何用户都永远不会知道他是否成功注册!

4

1 回答 1

0

您可以通过添加以下代码来解决您的问题。函数执行后应该调用闭包。

   let deadline = DispatchTime.now() + .seconds(1)
   DispatchQueue.main.asyncAfter(deadline: deadline)  
   {
    self.performSegue(withIdentifier: "toSignUpVC", sender: self)
   }
于 2017-05-12T10:27:27.323 回答