在故事板中分享不同视图的iAd横幅?

时间:2013-05-01 12:04:20

标签: storyboard views iad

我很难弄清楚整个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横幅从storyboard拖到我的ViewController中,并将其alpha设置为0。 它实际上是有效的 - 所以当有连接时横幅显示,没有连接时显示消息。 问题是我收到此警告:当前存在超过10个ADBannerView或ADInterstitialView实例。这是对iAd API的误用,因此广告效果会受到影响。此消息仅打印一次。 我知道为什么会发生这种情况,感谢你们...但我不知道如何解决这个问题! 如果有人可以帮助我,这将是很好的,我现在尝试了几天! 我不得不说我刚刚开始使用xcode,这对我来说很难。

提前多多感谢!

1 个答案:

答案 0 :(得分: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测试广告,并且没有显示任何错误消息。