ADBannerContentSizeIdentifier320x50 устарел .. что теперь? - PullRequest
1 голос
/ 22 ноября 2011

Следующая константа устарела в iOS 4.2

ADBannerContentSizeIdentifier320x50

Так что для уже выпущенного приложения это будет проблемой в будущих версиях ОС.

В iOS 4.2 они представили

ADBannerContentSizeIdentifierPortrait

Если я хочу поддерживать iOS 4.0 и iOS 4.2, как мне это сделать.

Ответы [ 2 ]

3 голосов
/ 22 ноября 2011

Вам нужно будет проверить, доступны ли константы или нет.Вот одно из решений

Class cls = NSClassFromString(@"ADBannerView");
if (cls) {

    if (&ADBannerContentSizeIdentifierPortrait != nil) {
        kTabnavADBannerContentSizeIdentifierPortrait = 
                                            ADBannerContentSizeIdentifierPortrait;
    } else {
        kTabnavADBannerContentSizeIdentifierPortrait = 
                                            ADBannerContentSizeIdentifier320x50;
    }

    if (&ADBannerContentSizeIdentifierLandscape != nil) {
        kTabnavADBannerContentSizeIdentifierLandscape = 
                                            ADBannerContentSizeIdentifierLandscape;
    } else {
        kTabnavADBannerContentSizeIdentifierLandscape = 
                                            ADBannerContentSizeIdentifier480x32;
    }

    ADBannerView *adView = [[cls alloc] initWithFrame:CGRectZero];
    adView.requiredContentSizeIdentifiers = [NSSet setWithObjects:
                                             kTabnavADBannerContentSizeIdentifierPortrait,
                                             kTabnavADBannerContentSizeIdentifierLandscape,
                                             nil];

    // Set the current size based on device orientation
    adView.currentContentSizeIdentifier = kTabnavADBannerContentSizeIdentifierPortrait;
    adView.delegate = self;

    adView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin |
                               UIViewAutoresizingFlexibleRightMargin;

    // Set intital frame to be offscreen
    CGRect bannerFrame =adView.frame;
    bannerFrame.origin.y = self.view.frame.size.height;
    adView.frame = bannerFrame;

    self.bannerView = adView;
    [self.view addSubview:adView];
    [adView release];
}
1 голос
/ 22 ноября 2011

разработайте для самой последней цели iOS, но установите цель развертывания на 4.0 с настройками сборки вашего проекта и всеми целями.

...