Проверка смс с помощью Sinch swift 3
Здравствуйте, я использую проверку Sinch sms для регистрации пользователей в моем приложении, но после обновления моего кода до swift 3 (и sinch sdk в настоящее время 2.0.3) я получаю следующую ошибку
Cannot convert value of type '(Bool, NSError?) -> Void' to expected argument type '(Bool, Error?) -> Void'
Я знаю, что если я изменю NSError на Error, эта ошибка исчезнет
но мне нужно получить код ошибки от NSError, чтобы предупредить моего пользователя о случившемся, зависит от этой ошибки
if (result.success){
//login user
} else {
if error!.code == 6 {
let msg = NSLocalizedString("This Phone Number is invalid",
comment: "This Phone Number is invalid pop up alert")
print(msg)
}
}
Из Sinch Docs, я предполагаю использовать этот NSError:
https://www.sinch.com/docs/verification/ios/
let verification = SMSVerification(applicationKey:"<APP KEY>", phoneNumber: phoneNumberInE164)
verification.initiate { (result: InitiationResult, error: NSError?) -> Void in
// handle outcome
}
Есть ли способ получить error.code из error:Error? Спасибо за вашу помощь
1 ответ
Решение
let verification = SMSVerification(applicationKey:"<APP KEY>", phoneNumber: phoneNumberInE164)
verification.initiate { (result: InitiationResult, error: Error?) -> Void in
// handle outcome
if (result.success){
//login user
} else if let error = error as? NSError, error.code == 6 {
let msg = NSLocalizedString("This Phone Number is invalid",
comment: "This Phone Number is invalid pop up alert")
print(msg)
}
}