辛奇验证 Swift 3

Sinch Verification Swift 3

我一直在将我的代码转换为 swift 3。自验证以来我遇到了问题:

这是我的代码:

verification.initiate { (success:Bool, error:Error?) -> Void in
            //handle outcome
            if (success){
                print("successfully requested phone verification")
                //segue to next screen
                self.performSegue(withIdentifier: "xxx", sender: nil)
            } else {
                let alert = UIAlertController(title: "Alert", message: error?.localizedDescription, preferredStyle: .alert)
                alert.addAction(UIAlertAction(title: "Ok", style: .default, handler: nil))
                self.present(alert, animated: true, completion: nil)
                print(error?.localizedDescription)
                self.buttonsEnable(true)
            }
}

Xcode 返回以下错误:

Cannot convert value of type '(Bool, Error?) -> Void' to expected argument type '(InitiationResult, Error?) -> Void'

关于如何解决这个问题有什么想法吗?我已经更新到最新版本的sdk了。

错误几乎可以告诉您问题出在哪里。完成块必须是

类型
(InitiationResult, Error?) -> Void

而不是

(Bool, Error?) -> Void

所以你应该能够做到:

verification.initiate { (result:InitiationResult, error:Error?) -> Void in

然后用

检查是否成功
if result.success { ... }