2013-05-01 89 views
1

我很难弄清楚整个iAd实现是如何工作的! 在论坛中发帖并尝试了很多不同的方法后 - 我仍然没有找到解决我的问题的方法! 我用导航控制器和许多视图控制器做了一个应用程序。 即时通讯使用此代码,以显示我的ViewController.h广告:在故事板的不同视图中分享iAd横幅广告?

#import <UIKit/UIKit.h> 
#import <iAd/iAd.h> 


@interface ViewController : UIViewController <ADBannerViewDelegate> 


@end 

IM我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,所以这对我来说很难。

非常感谢!

+0

请不要忘记选择一个答案! ;) – 2014-06-07 17:26:52

回答

0

嗯,我不能告诉你关于你得到的错误信息。不过这对我来说是什么在起作用:

ViewController.m:

#import <iAd/iAd.h> 

@property (nonatomic, retain) IBOutlet ADBannerView *adView; 

此行添加到视图控制器和出口连接到故事板的iAd的对象。还要将iAd委托设置为ViewController。那么这两个方法添加到您的视图控制器:

- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{ 
    [_adView setHidden:NO]; 
} 

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    [_adView setHidden:YES]; 
} 

就是这样,现在你应该可以看到在模拟器中的iAd广告测试,并没有错误消息显示我。