У меня есть приложение, которое пытается получить iAd, а если неудачно загружает объявление AdMob. Он отлично работает на iPhone, но при запуске на iPad я получаю непрерывный цикл, который предотвращает загрузку приложения. Вот код:self.addSubView не работает на iPad
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
@try {
NSLog(@"Ad Error, looking for AdMob Ad...");
// Create a view of the standard size at the bottom of the screen.
bannerView_ = [[GADBannerView alloc]
initWithFrame:CGRectMake(0.0,
self.view.frame.size.height -
GAD_SIZE_320x50.height,
GAD_SIZE_320x50.width,
GAD_SIZE_320x50.height)];
// I know the banner size is incorret for iPad but it's only supposed to run
// on iPad in compatibility mode and changing doesn't help
// Specify the ad's "unit identifier." This is your AdMob Publisher ID.
bannerView_.adUnitID = @"XXXXXXX";
// Let the runtime know which UIViewController to restore after taking
// the user wherever the ad goes and add it to the view hierarchy.
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
GADRequest *admobRequest = [GADRequest request];
admobRequest.testDevices = [NSArray arrayWithObjects:
GAD_SIMULATOR_ID,
nil];
// Initiate a generic request to load it with an ad.
[bannerView_ loadRequest: admobRequest];
[iAdBanner setHidden: YES];
[bannerView_ setHidden: NO];
}
@catch (NSException *e) {
NSLog(@"Exception: %@", e);
}
@finally {
}
}
The NSLog
печатает непрерывно, и приложение не загружается.
012-02-24 21:58:38.991 TrophyConverter Free[2948:15e03] Ad Error, looking for AdMob Ad...
2012-02-24 21:58:38.992 TrophyConverter Free[2948:15e03] Ad Error, looking for AdMob Ad...
2012-02-24 21:58:38.994 TrophyConverter Free[2948:15e03] Ad Error, looking for AdMob Ad...
Неужели кто-нибудь еще испытал это? Как мне это сделать? Мне удалось использовать bool
, чтобы остановить непрерывную печать журнала и загрузить приложение, но показ объявления не отображается.
EDIT: Проблема полностью исчезает, когда я удалить эту строку
[self.view addSubview:bannerView_];
, который не является полезным, поскольку это та часть, которая добавляет вид AdMob.
Я также попытался изменить цель сборки как универсальное приложение, а не приложение для iPhone. Это исправляет проблему, но я не хочу, чтобы это было универсальное приложение, и у меня нет макетов, созданных для него.
Какая ошибка? – MyztikJenz
@MyztikJenz нет ошибки, didFailToReceiveAdWithError продолжает вызываться один раз [self.view addSubView: bannerView_]. Это как бесконечный цикл. В конце концов я получаю EXC_BAD_ACCESS, и во время отладки я не могу просмотреть self.view, поэтому я думаю, что это как-то связано с этим. Я использую ARC, хотя поэтому нет ранних релизов или чего-то еще – Peter
@MyztikJenz У меня есть журнал аварий с Apple, если это вам поможет. Я заметил, что вы работаете для них :) – Peter