2013-05-01 45 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廣告測試,並沒有錯誤消息顯示我。