Мое приложение теперь выдает ошибки после попытки реализовать RevMob

Ошибка, которую я получаю:

Невозможно преобразовать значение типа '(NSError!) -> Void' в ожидаемый тип аргумента '((Ошибка?) -> Void)!

Код, который вызывает эту ошибку:

RevMobAds.startSessionWithAppID("<YOUR_APP_ID>",     
    withSuccessHandler: completionBlock, 
    andFailHandler: failureBlock)

Кто-нибудь имел эту ошибку при использовании RevMob раньше или есть какие-либо идеи о том, как исправить? Спасибо

Ошибка, которую я получаю: Ошибка при получении

1 ответ

Решение

Вы, вероятно, используете новые Xcode и Swift 3.0. Там было несколько изменений в том, как Objective-C преобразуется в быстрый.

Вам нужно только изменить errorBlock Код из того, что мы имеем в нашей документации к этому:

let errorBlock: ((Error?) -> Void)! = {error in   //  <==  only this line changed
    // check the error
    print(error)
}

и добавьте имя параметра в startSession вызов:

RevMobAds.startSession(withAppID: "<YOUR_APP_ID>",   //  only this line changed
                                        withSuccessHandler: completionBlock,
                                        andFailHandler: errorBlock);
Другие вопросы по тегам