如何在模拟器中显示testingIAd横幅

您好所有我导入iAd框架的工作和实施代码为iAd.My示例代码如下所示

.h文件

#import <UIKit/UIKit.h> #import <iAd/iAd.h> @interface IadTestViewController : UIViewController<ADBannerViewDelegate> { BOOL isBannerVisible; IBOutlet ADBannerView *banner; } @property(nonatomic,assign)BOOL isBannerVisible; @property(nonatomic,retain)IBOutlet ADBannerView *banner; @end 

.m文件我实现了委托方法

  #import "IadTestViewController.h" @implementation IadTestViewController @synthesize banner,isBannerVisible; - (void)viewDidLoad { [super viewDidLoad]; isBannerVisible=NO; bannerView=[[ADBannerView alloc]initWithFrame:CGRectZero]; bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; bannerView.delegate=self; [self.view addSubview:bannerView]; 

}

 - (void)bannerViewDidLoadAd:(ADBannerView *)banner { if (!self.isBannerVisible) { [UIView beginAnimations:@"animateAdBannerOn" context:NULL]; // Assumes the banner view is just off the bottom of the screen. bannerView.frame = CGRectOffset(bannerView.frame, 0, -bannerView.frame.size.height); [UIView commitAnimations]; self.isBannerVisible = YES; } 

}

  - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { NSLog(@"the failed error is %@",error); if (self.isBannerVisible) { [UIView beginAnimations:@"animateAdBannerOff" context:NULL]; // Assumes the banner view is placed at the bottom of the screen. bannerView.frame = CGRectOffset(bannerView.frame, 0, bannerView.frame.size.height); [UIView commitAnimations]; self.isBannerVisible = NO; } 

}

而我的xib连接连接forms很好。我不能在我的模拟器中获得IAd横幅,我的Log语句给我这样的错误

Error Domain=ADErrorDomain Code=5 "The operation couldn't be completed. Banner view is visible but does not have content" UserInfo=0x574fdd0 {ADInternalErrorCode=5, NSLocalizedFailureReason=Banner view is visible but does not have content}

当广告为零时,我知道iAd横幅不可见,但我试图展示testing广告,即使这也不可能与我的程序。我不知道我犯了什么错误或我忘了执行哪一步。我看到很多类似的问题我们的stackoverflow.com,但没有答案纠正我的问题。任何人可以帮助我从这里,请提供一些示例代码,以显示在模拟器TestAdd。提前感谢您。

我有解决scheme

我在下面的链接提供了答案

为什么testingiAd for barebone项目不显示?

步骤1:

1.将iAd框架导入到应用程序中。

2.在要显示添加的特定控制器中提供#import。

提供它的委托UIViewController

提供一个视图到特定的ViewController.Assume我已经采取

 @property (weak, nonatomic) IBOutlet UIView *contentView; 

第2步:

在ViewDidLoad方法中分配它

 - (void)viewDidLoad { _bannerView = [[ADBannerView alloc] init]; _bannerView.delegate = self; [super viewDidLoad]; [self.view addSubview:_bannerView]; } 

第3步:

提供它是我提到的委托方法。

 - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) { _bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; } else { _bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape; } [self layoutAnimated:duration > 0.0]; } - (void)bannerViewDidLoadAd:(ADBannerView *)banner { [self layoutAnimated:YES]; } - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { [self layoutAnimated:YES]; } - (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave { return YES; } - (void)bannerViewActionDidFinish:(ADBannerView *)banner { } - (void)layoutAnimated:(BOOL)animated { if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) { _bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; } else { _bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape; } CGRect contentFrame = self.view.bounds; CGRect bannerFrame = _bannerView.frame; if (_bannerView.bannerLoaded) { contentFrame.size.height -= _bannerView.frame.size.height; bannerFrame.origin.y = contentFrame.size.height; } else { bannerFrame.origin.y = contentFrame.size.height; } [UIView animateWithDuration:animated ? 0.25 : 0.0 animations:^{ self.contentView.frame = contentFrame; [self.contentView layoutIfNeeded]; _bannerView.frame = bannerFrame; }]; } 

欲了解更多详情请参阅此链接

看起来这是苹果服务器端的问题。 确保您的configuration文件是最新的,并确保您的应用程序已注册接收广告(通过iTunes连接)。 我看不出你的代码有什么问题。

看看这个链接了解更多。

首先,你必须检查是否正确地给你的横幅框架….如果这是正确的,那么可能是你应该检查系统中的代理设置,如果你在办公室工作…你可能需要有从互联网下载内容的下载权..这可能只是一个问题,因为你已经说过,你正在做的每件事情都正确…

还有一件事AAAAAA ….我认为你必须先通过iTunes连接注册苹果的iAdnetworking,以接收他们的任何广告….我build议你检查他们的文件上的iAd的更清晰…