2012-02-24 3 views
0

У меня есть приложение, которое пытается получить 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. Это исправляет проблему, но я не хочу, чтобы это было универсальное приложение, и у меня нет макетов, созданных для него.

+0

Какая ошибка? – MyztikJenz

+0

@MyztikJenz нет ошибки, didFailToReceiveAdWithError продолжает вызываться один раз [self.view addSubView: bannerView_]. Это как бесконечный цикл. В конце концов я получаю EXC_BAD_ACCESS, и во время отладки я не могу просмотреть self.view, поэтому я думаю, что это как-то связано с этим. Я использую ARC, хотя поэтому нет ранних релизов или чего-то еще – Peter

+0

@MyztikJenz У меня есть журнал аварий с Apple, если это вам поможет. Я заметил, что вы работаете для них :) – Peter

ответ

0

В конце концов, я не мог найти исправления, поэтому в основном я добавил bool, который был переключен, как только один провал был сделан. Тогда никакое объявление не будет добавлено, если проверка была сделана и еще не обработана.

Смежные вопросы