我很难弄清楚整个 iAd 实施是如何工作的!在论坛中搜索并尝试了很多不同的方法后 - 我仍然没有找到解决我的问题的方法!我制作了一个带有导航控制器和许多视图控制器的应用程序。我使用此代码在我的 ViewController.h 中显示广告:
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface ViewController : UIViewController <ADBannerViewDelegate>
@end
我是我的 ViewController.m:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(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];
}
@end
然后我只需将 iAd 横幅从情节提要拖到我的 ViewController 中并将其 alpha 设置为 0。它确实有效 - 因此横幅在有连接时显示,而在没有连接时消失。问题是我收到此警告:当前存在超过 10 个 ADBannerView 或 ADInterstitialView 实例。这是对 iAd API 的滥用,广告效果将因此受到影响。此消息仅打印一次。我已经知道为什么会发生这种情况,多亏了你们……但我不知道如何解决这个问题!如果有人可以帮我解决这个问题,那就太好了,我已经尝试了好几天了!我不得不说我刚刚开始使用 xcode,所以这对我来说有点难。
提前非常感谢!