Проверка смс с помощью 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, эта ошибка исчезнет

Sinch Verification Swift 3

но мне нужно получить код ошибки от 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)
         }
    }
Другие вопросы по тегам