我在禁用wifi的情况下运行我的应用程序,我总是在调试器中得到空白和以下消息:
ADBannerView:未处理的错误(没有委托或委托未实现didFailToReceiveAdWithError:):错误域=ADErrorDomain Code=5"操作无法完成。横幅视图可见但没有内容"UserInfo=0x9632d30{ADInternalErrorCode=5,NSLocalizedFailureReason=横幅视图可见,但没有内容}
请帮我修复代码:.h
#import <iAd/iAd.h>
@interface ViewController : UIViewController <GKAchievementViewControllerDelegate, GameCenterManagerDelegate , ADBannerViewDelegate> {
//iAD
ADBannerView *banner;
}
//iAD
@property (nonatomic, assign) BOOL bannerIsVisible;
@property (nonatomic, retain) IBOutlet ADBannerView *banner;
.m
@synthesize banner , bannerIsVisible;
-(void)bannerViewDidLoadAd:(ADBannerView *)abanner {
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animatedAdBannerOn" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0.0, 50.0);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}}
-(void)bannerView:(ADBannerView *)aBanner didFailToReceiveAdWithError:(NSError *)error {
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animatedAdBannerOff" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0.0, -50.0);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}
根据错误的委托部分。在您的视图DidLoad(或在任何初始化位置)中,方法集banner.delegate = self;
对iOS开发来说是全新的,但我认为您需要在故事板中设置adBanner视图代理。为此,右键单击广告横幅并拖动到文件所有者。然后选择代理。这为我解决了这个问题:)。
您可能需要在接口生成器(IB)中设置委托。否则,当加载视图时,没有指定代理,您将收到此错误消息。