不推荐使用ADBannerContentSizeIdentifier320x50 ..现在怎么办?

时间:2011-11-22 08:14:16

标签: iphone ios4 ios-4.2

iOS 4.2中不推荐使用以下常量

ADBannerContentSizeIdentifier320x50

因此,对于已经发布的应用程序,这将成为未来操作系统版本中的一个问题。

在iOS 4.2中,他们介绍了

ADBannerContentSizeIdentifierPortrait

如果我想同时支持iOS 4.0和iOS 4.2,我应该怎么做。

2 个答案:

答案 0 :(得分:3)

您必须检查常量是否可用。这是一个解决方案

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 :(得分:1)

在最新的iOS目标上开发,但在项目的构建设置和所有目标中将部署目标设置为4.0。