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

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

创build:

-(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]; } } 

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

警告:当前存在10个以上的ADBannerView或ADInterstitialView实例。 这是对iAd API的滥用,因此广告效果将受到影响。 此消息仅打印一次。

但是创build和销毁的方法总是被调用。 我能做些什么来debugging这个警告问题? 非常感谢。

你需要释放你的实例variables,而不是相反。

 adView = nil; [adView release]; 

应该:

 [adView release]; adView = nil;