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.

1 ответ

Решение

Ошибка в значительной степени говорит вам, в чем проблема. Блок завершения должен быть типа

(InitiationResult, Error?) -> Void

вместо

(Bool, Error?) -> Void

Так что вы должны быть в состоянии сделать:

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

а затем проверить успех с

if result.success { ... }
Другие вопросы по тегам