2016-12-13 6 views
0

Привет Im использованием Sinch проверки смс, чтобы зарегистрировать пользователей в моем приложении, но после обновления кода для быстрой 3 (и Sinch в настоящее время 2.0.3 SDK), Im получаю следующее сообщение об ошибкеSms Проверка с Sinch быстрой 3

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

Я знаю, что если я изменю NSError к ошибке, то эта ошибка исчезает

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, Im предполагается использовать этот NSError:

https://www.sinch.com/docs/verification/ios/#swiftsdk

let verification = SMSVerification(applicationKey:"<APP KEY>", phoneNumber: phoneNumberInE164) 
    verification.initiate { (result: InitiationResult, error: NSError?) -> Void in 
     // handle outcome 
    } 

Есть ли способ, чтобы получить error.code от ошибок: Ошибка? Спасибо за вашу помощь

+2

Swift 3 моста все 'NSError' от объектного кода C до' типа Error' (протокол). Таким образом, в параметрах закрытия вы должны использовать 'Error' и преобразовывать его внутри закрытия в' NSError', используя 'as'. – user28434

ответ

3
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) 
     } 
    } 
+0

спасибо @zombie, если у вас есть часть кода для этого второго вопроса, было бы замечательно: http://stackoverflow.com/questions/41120985/sinch-sms-verification-2-0-3-sdk-swift-3 – jerem