目标c - Iad警告:ADBannerView的实例超过10个

时间:2012-10-01 08:43:19

标签: objective-c ios iad

我开发了一个标签栏应用程序。 就像标题一样,我有一个位于屏幕底部的iad横幅。 我已经实现了这个方法来创建/销毁横幅并且测试iad正常工作:

创建:

-(void)viewWillAppear:(BOOL)animated {
     if(!adView) {
        adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 315, 310, 45)];
        adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
        adView.delegate = self;
        [self.view addSubview:adView];
    }

毁灭:

    - (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];

    // iAd
    if (adView != nil) {
        adView.delegate = nil;
        adView.hidden = YES;
        adView = nil;
       [adView release];
    }  
}

但如果我尝试从标签栏快速更改视图,我会收到此错误:

  

警告:ADBannerView或ADInterstitialView的实例超过10个   目前存在。这是对iAd API和广告效果的误用   结果会受到影响。此消息仅打印一次。

但始终会调用create和destroy方法。我可以做些什么来调试这个警告问题? 非常感谢。

1 个答案:

答案 0 :(得分:0)

你需要先释放你的实例变量,然后才能实现它,而不是相反。

adView = nil;
[adView release];

应该是:

[adView release];
adView = nil;