Ошибка AdMob с помощью : непризнанный селектор

Я установил AdMob SDK 6.2.0 (Xcode 4.5 (4G182), и я тестирую iPhone 4S и симулятор). Я следил за учебником и просто хочу, чтобы AdMob показывал баннер один раз. Но он падает на последней строке:

self.bannerView = [[GADBannerView alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height - GAD_SIZE_320x50.height, GAD_SIZE_320x50.width, GAD_SIZE_320x50.height)]; self.bannerView.delegate = self; self.bannerView.adUnitID = @"xREMOVEDBYMEx"; self.bannerView.rootViewController = self; [self.view addSubview:self.bannerView]; GADRequest * request = [GADRequest request]; request.testing = YES; [self.bannerView loadRequest:request]; 

Крушение

2012-09-28 09: 03: 58.268 NewProject [1467: c07] – [GADObjectPrivate changeState:]: непризнанный селектор отправлен в экземпляр 0x95c17d0 2012-09-28 09: 03: 58.276 NewProject [1467: c07] * Завершение приложения из-за uncaught exception “NSInvalidArgumentException”, причина: ‘- [GADObjectPrivate changeState:]: непризнанный селектор, отправленный в экземпляр 0x95c17d0’

Это похоже на ошибку в библиотеке для меня, но я думаю, что это очень маловероятно. Есть предположения?

EDIT: тот же самый код работает в примерах проектов. Есть ли что-то, что я могу сделать с файлом проекта, что приведет к этой ошибке?

Вам нужно добавить -ObjC к другим -ObjC компоновщика настройки сборки вашего приложения:

  1. Нажмите синий значок проекта верхнего уровня в XCode
  2. Выберите свою цель и перейдите в « Настройки сборки»
  3. В разделе Другие флаги компоновщика добавьте -ObjC для выпуска и отладки

Источник: https://developers.google.com/mobile-ads-sdk/docs/admob/mediation#ios-linker

Также не забудьте сделать чистую и перестроить

Лучшее решение для меня – использовать флаг -force_load вместо -ObjC введите описание изображения здесь

Если у вас все еще есть проблемы, убедитесь, что это -ObjC, а не -Objc. Гез, провел недели, пытаясь понять, почему.

Для тех из вас, кто попытался добавить флаг компоновщика Obj-c и по-прежнему получил ту же ошибку «непризнанный селектор, отправленный в экземпляр» при попытке загрузить объявление, я нашел исправление. Это для новейшего XCode (версия 8.1).

Для справки:

  • Я добавил Google AdMob, используя cocoapods.
  • Я использовал раскадровку, чтобы подключить выход к моему controllerу view, и GADBannerView не был доступен как class, поэтому я написал его, как это делали большинство людей.
  • В одном из ответов stackoverflow, который я видел, пользовательский class для bannerview был настроен на GADBannerView, который, как я предполагаю, будет происходить автоматически, если бы он был вариантом в раскрывающемся списке, когда вы добавляли выход. Для меня это не было, так как я должен был набирать его в себе.

Нет специального класса, указанного screengrab

Посмотрев на раскрывающийся список, я увидел, что GADBannerView доступен в качестве опции и выбрал его.

Доступен класс GADBannerView

После его выбора приложение запускалось без заминки, не нужно добавлять флаг компоновщика (мой по умолчанию был пустым) или что-то еще.

Надеюсь, это поможет кому-то еще!

  • Как изменить заголовок кнопки «Назад» на панели навигации
  • Как получить IMEI на iPhone?
  • Измените первый символ в каждом слове строки на верхний регистр.
  • iOS 5 не позволяет сохранять загруженные данные в папке «Документы»?
  • Как заполнить фоновое изображение UIView
  • Значение предупреждения "во время презентации!"
  • Разработка iPhone: освобожден указатель
  • Комплект iPhone Store «Не удается подключиться к iTunes Store»
  • Msgstr "wait_fences: не удалось получить ответ: 10004003"?
  • Как установить жирный шрифт и курсив на UILabel iPhone / iPad?
  • objective C - Как использовать метод initWithCoder?
  • Interesting Posts

    Как я могу извлечь из репозитория Git через HTTP-прокси?

    Запуск Microsoft Access как запланированной задачи

    Как найти переменные документа в MS Word без использования макроса

    Настройка конечной точки сервера авторизации

    Параметры сопоставления CSV с .NET

    Как заставить Windows 7 запрашивать «свежий» IP-адрес с сервера DHCP?

    Получить целенаправленный вид из ViewPager

    Один и тот же навигационный ящик в разных действиях

    Маржа на дочернем элементе перемещает родительский элемент

    Synergy, клиент OSX, сервер Windows 7 – нет мыши на клиенте

    Как обнаружить паузу во вводе для UISearchBar / UITextField?

    VirtualBox vs. Sandboxie – несколько экземпляров приложения

    Можно ли использовать сетевой разделитель для подключения маршрутизатора к двум устройствам?

    Две системы с идентичными графическими процессорами имеют очень разные характеристики при запуске скрипта Tensorflow на графическом процессоре

    Преобразование всех простых текстовых ссылок на гиперссылки

    Давайте будем гением компьютера.