我看到了其他一些类似的问题,但可以找到任何答案......我有一个共享的iAd横幅。问题是当我在一个带有TableViewController的模态呈现的NavigationController中加载它时,当我解除TableViewController时,MainViewController中的广告横幅丢失广告并且我收到以下错误:
ADBannerView:未处理的错误(没有委托或委托没有实现didFailToReceiveAdWithError :):错误域= ADErrorDomain代码= 7“操作无法完成。广告已从此横幅卸载”UserInfo = 0x5b60e283649 {ADInternalErrorCode = 7, NSLocalizedFailureReason = Ad已从此横幅卸载,ADInternalErrorDomain = ADErrorDomain}
View设置我们这样: MainViewController - > NavigationController - > TableViewController
在应用程序的另一个点上,我模拟地呈现了一个带有共享广告的ViewController,我没有遇到这个问题。 (MainViewController - > ViewController)
以下是TableViewController的代码:
·H
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
#import "AppDelegate.h"
@interface TableViewController : UITableViewController <ADBannerViewDelegate>
@property (strong, nonatomic) IBOutlet UITableView *table;
@property (strong, nonatomic) ADBannerView *adView;
@end
的.m
-(void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:YES];
// Insert Ad Bar
AppDelegate *appdelegate = (AppDelegate *)[[UIApplication sharedApplication ]delegate];
_adView = [appdelegate adView];
_adView.delegate = self;
self.canDisplayBannerAds = true;
if (IPAD) {
[_adView setFrame:CGRectMake(0, self.view.frame.size.height - 65, 320, 65)];
}
else {
[_adView setFrame:CGRectMake(0, self.view.frame.size.height - 50, 320, 50)];
}
if (!_adView.bannerLoaded) {
[_adView setAlpha:0];
}
[self.view addSubview:_adView];
}
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[banner setAlpha:1];
[UIView commitAnimations];
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[banner setAlpha:0];
[UIView commitAnimations];
}
任何提示将不胜感激。 感谢
答案 0 :(得分:0)
问题是因为我在使用:
self.canDisplayBannerAds = true;
以及:
if (IPAD) {
[_adView setFrame:CGRectMake(0, self.view.frame.size.height - 65, 320, 65)];
}
else {
[_adView setFrame:CGRectMake(0, self.view.frame.size.height - 50, 320, 50)];
}
if (!_adView.bannerLoaded) {
[_adView setAlpha:0];
}
[self.view addSubview:_adView];
因此创建了2个广告栏实例。