我已经构建了一些正确实施 iAd 的应用程序。这些应用程序已在应用程序商店中上线,并且正在显示广告。我现在无法让任何应用程序(包括曾经正常工作的应用程序)在设备或模拟器上显示 iAd。我想知道xcode中是否存在故障或发生了什么奇怪的事情。也许我只是忽略了一些明显的东西。我做了以下事情:
1) 将二进制文件与 iAd.framework 链接
2) #import <iAd/iAd.h>
3) #import <iAd/AdBannerView.h>
4) @interface RSBViewController :UIViewController <AdBannerViewDelegate>
5)我的视图控制器在情节提要上添加了一个 AdBannerView 对象
6) 将我的 AdBannerView 连接到
@propery (nonatomic, retain) IBOutlet ADBannerView *aBanner;
7) 在 viewDidLoad 方法中,我确实设置了这样的委托:
_aBanner.delegate = self
8) 我已经实现了 -(void)bannerViewDidLoadAd:(AdBannerView *) 横幅,如下所示:
-(void)bannerViewDidLoadAd:(ADBannerView *)banner
{
NSLog(@"Loading iAd");
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animateAdBannerOn" context:NULL]; banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);
[UIView commitAnimations]; self.bannerIsVisible = YES; }
}
9) 我已经实现了 - (void)bannerView:(AdbannerView *)banner didFailToReceiveAdWithError:(NSError *)error 像这样:
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"Failed Loading iAd");
if (self.bannerIsVisible) {
[UIView beginAnimations:@"animateAdBannerOff" context:NULL]; banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height);
[UIView commitAnimations]; self.bannerIsVisible = NO; }
}
当我在模拟器或我的设备上运行它时,输出是:
2013-08-29 21:29:27.643 iAdPracticeApp[1098:c07] Failed Loading iAd
2013-08-29 21:29:57.773 iAdPracticeApp[1098:c07] Failed Loading iAd
2013-08-29 21:30:58.152 iAdPracticeApp[1098:c07] Failed Loading iAd
2013-08-29 21:32:58.542 iAdPracticeApp[1098:c07] Failed Loading iAd
2013-08-29 21:36:58.919 iAdPracticeApp[1098:c07] Failed Loading iAd
2013-08-29 21:40:59.473 iAdPracticeApp[1098:c07] Failed Loading iAd
2013-08-29 21:45:00.997 iAdPracticeApp[1098:c07] Failed Loading iAd
我了解 Apple 模拟加载的广告并未能加载广告。我还意识到我可以进入我的 iOS 设备的开发人员设置并将错误率更改为 0%、50%、80%、100%。无论我尝试什么,我都无法正确加载 iAd。我究竟做错了什么?