我开发了一个标签栏应用程序。 就像标题一样,我有一个位于屏幕底部的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方法。我可以做些什么来调试这个警告问题? 非常感谢。
答案 0 :(得分:0)
你需要先释放你的实例变量,然后才能实现它,而不是相反。
adView = nil;
[adView release];
应该是:
[adView release];
adView = nil;