iAd“没有委托或委托没有实现didFailToReceiveAdWithError:”

时间:2012-07-28 22:16:44

标签: iphone xcode storyboard iad

我运行了禁用wifi的应用程序,我总是在调试器中获得空白和此消息:

ADBannerView:未处理的错误(没有委托或委托没有实现didFailToReceiveAdWithError :):错误Domain = 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;
}

}

3 个答案:

答案 0 :(得分:6)

根据错误的委托部分。在viewDidLoad(或初始化的任何位置)方法集banner.delegate = self;

答案 1 :(得分:2)

iOS开发全新,但我相信您需要在故事板中设置adBanner视图委托。要执行此操作,请右键单击adBanner并拖动到文件所有者。然后选择委托。这为我解决了这个问题:)。

答案 2 :(得分:1)

您可能需要在界面生成器(IB)中设置委托。否则,当视图加载时,没有分配委托,您将收到此错误消息。