iAd BannerViewDelegate - предупреждения выводятся на консоль - PullRequest
3 голосов
/ 31 октября 2011

С SDK 4.2 и iOS5 это создало некоторую путаницу для меня.В моем новом приложении на основе вкладок у меня есть несколько контроллеров представления.Я тщательно проверил и перепроверил, что присутствуют все методы iAd delgate.На самом деле, я воспользовался примером iAdSuite для этого.

Я оставил приложение запущенным на симуляторе некоторое время в viewController, который не показывает никаких тестовых объявлений.Я увидел следующее сообщение (несколько) вошли в консоль.

2011-10-30 18: 45: 07.534 StopAlert [29299: 207] ADBannerView: необработанная ошибка (ни один делегат или делегат не реализует didFailToReceiveAdWithError :): ошибка домена = ADErrorDomain Code = 3 «Операция не смогла»не может быть завершен. Рекламный инвентарь недоступен "UserInfo = 0x795d7d0 {ADInternalErrorCode = 3, NSLocalizedFailureReason = Рекламный инвентарь недоступен}

Меня беспокоит то, что" ни один делегат или делегат не выполняет ... "- дажехотя .m файл имеет эти методы делегата.Вот они:

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
   [self layoutForCurrentOrientation:YES];
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
[self layoutForCurrentOrientation:YES];
}

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave {
return YES;
}

- (void)bannerViewActionDidFinish:(ADBannerView *)banner {
}

Я что-то упустил ??Я установил контрольные точки во всех 4 из них - и, конечно же, они не пострадали.Делегат для баннера IS имеет значение "self", а объявление в файле .h также имеет ADBannerViewDelegate .

Я в тупике.Может ли кто-нибудь помочь мне пройти через это?

Заранее спасибо.

1 Ответ

2 голосов
/ 14 января 2012

Для тех, кто сталкивался с этим вопросом с помощью поиска, теперь я понимаю, что меня оттолкнуло в примере кода iAdSuite (и техническую заметку о совместном использовании рекламного баннера в нескольких представлениях).Пример технической заметки настраивает adBanner в своем приложении DidFinishLaunching.Это сработало для iAdSuite, потому что (вот кикер) его первое представление не пыталось представить рекламный баннер.Итак, тонкая проблема? Сэм?и я столкнулся с приложением, которое хочет показать adBanner в первом представлении, это то, что представление уже загружено до того, как делегат приложения получит сообщение applicationDidFinishLaunching.В моем случае я переместил свой код установки adBanner из делегата приложения и поместил его в viewWillAppear моего начального контроллера представления.И при этом я выполняю настройку инициализации, только если adBanner еще не существует (что имеет место, когда поток возвращается к моему первоначальному контроллеру представления).

...