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 { ... }