метод проверки sinch не отображается в swift 3.0 и xcode 8.0

Мы используем синхронную проверку модулями с swift 3.0 и xcode 8.0. Я хочу вызвать методы initiate() и verifyCode(), но компилятор показывает value of type SINVerification? has no member У меня есть импорт import SinchVerificationи написанный ниже код: -

let region:String = SINDeviceRegion.currentCountryCode()
        let phoneNumber:SINPhoneNumber?
        do {

             try phoneNumber = SINPhoneNumberUtil().parse("xxxxxxxxxx", defaultRegion: region)

            let phoneNumberInE164:String = SINPhoneNumberUtil().formatNumber(phoneNumber!, format: SINPhoneNumberFormat.E164)
           let verification = SINVerification.smsVerification(withApplicationKey: "965010f3-bb37-4356-82ba-fea0452377d9", phoneNumber: phoneNumberInE164) as? SINVerification
            verification.initiate { (success:Bool, error:Error?) -> Void in
                //handle outcome
                if (success){
                    print("successfully requested phone verification")

                } else {

                    print(error?.localizedDescription)

                }
            }

person Vinod Kumar    schedule 28.01.2017    source источник


Ответы (1)


это должно выглядеть так

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

Не уверен, почему приведение к SINVerification, но я думаю, что ошибка в том, что у вас есть результат как логическое значение, но это InitiationResult

person cjensen    schedule 30.01.2017
comment
Что ты имеешь в виду? - person cjensen; 04.02.2017
comment
Я использую версию 2.0.3 sinch - person Vinod Kumar; 04.02.2017
comment
let verification = SMSVerification(applicationKey:applicationKey, phoneNumber: phoneNumberInE164) //в этой строке отображается ошибка: использование неразрешенного идентификатора 'SMSVerfication' verification.initiate { (result: InitiationResult, error: NSError?) -> Void in // в этой строке отображается ошибка: использование необъявленного типа 'initiationResult' // обработка результата } @cjensen - person Vinod Kumar; 04.02.2017