iAd не вращается - PullRequest
       23

iAd не вращается

0 голосов
/ 17 декабря 2011

У меня есть универсальное приложение с 1 iAd. Теперь мне нужно поддерживать обе ориентации ..

Я использую следующий код;

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

    if ( &ADBannerContentSizeIdentifierPortrait != NULL) {
        // NEWER
        if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
            adView_.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
        else
            adView_.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
    } else {
        // OLDER
        if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
            adView_.currentContentSizeIdentifier = ADBannerContentSizeIdentifier480x32;
        else
            adView_.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
    }
}

Но как только я поворачиваюсь в портрет, мое приложение вылетает со следующей ошибкой;

Завершение приложения из-за необработанного исключения NSInternalInconsistencyException, причина: currentContentSize должен быть одним из обязательных ContentSizes; ADBannerContentSizeLandscape является не в {( ADBannerContentSizePortrait)} '

Я тестирую на симуляторе IOS4.3.

Пожалуйста, помогите мне. Спасибо.

1 Ответ

0 голосов
/ 18 декабря 2011

Попробуйте это:

if ([[[UIDevice currentDevice] systemVersion] compare:@"4.2" options:NSNumericSearch] == NSOrderedAscending) {

    adBanner.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];

    adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;

    NSLog(@"below 4.2");

} else {

    adBanner.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];

    adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;

    NSLog(@"4.2 or above");

}
...