2012-09-04 3 views
10

내 배너를 추가하려고했으나 배너를 추가 한 이후에 앱이 시작되지 않습니다.iAd 배너가 작동하지 않습니다.

내가 말하는 오류를 얻을 :

인해 캐치되지 않는 예외 'NSInvalidUnarchiveOperationException'응용 프로그램 종료, 이유 : .H 파일에

코드 'ADBannerView 이름을 인스턴스화 할 수 없습니다 클래스'를 :

#import <iAd/iAd.h> 

@interface FirstViewController : UIViewController <ADBannerViewDelegate> 
{ 
    ADBannerView *banner; 
} 
@property (nonatomic,assign) BOOL bannerIsVisible; 
@property (nonatomic,retain) IBOutlet ADBannerView *banner; 

.m 파일의 코드 :

@synthesize banner, bannerIsVisible; 

-(void)bannerViewDidLoad: (ADBannerView *)abanner 
{ 
    if(!self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animatedAdBannerOn" context:NULL]; 
     banner.frame=CGRectOffset(banner.frame, 0.0, 50.0); 
     [UIView commitAnimations]; 
     self.bannerIsVisible=YES; 
    } 
} 
-(void)bannerView:(ADBannerView *)aBanner 
{ 
    if(!self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animatedAdBannerOff" context:NULL]; 
      banner.frame=CGRectOffset(banner.frame, 0.0, -320.0); 
     [UIView commitAnimations]; 
     self.bannerIsVisible=NO; 
    } 
} 

뭐가 잘못 됐니?

답변

1

이 코드를 가지고 :

#import <iAd/iAd.h> 

@interface ViewController : UIViewController <ADBannerViewDelegate> { 
} 
@end 

하는 .m 파일 :

@implementation ViewController 

-(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 
19

당신은 당신의 프로젝트에 iAd.framework를 추가해야합니다.

+0

또한 self.canDisplayBanners = YES; – user2277872

+0

좋은 예 : [31 일 iOS : 29 일 - iAd 광고] (http://chrisrisner.com/31-Days-of-iOS--Day-29%E2%80%93Advertising-with-iAd) – leanne

+0

@lykant 좋은 대답, 나는 비슷한 질문에 대답하고 얼굴을 보살 피는 사람들을 위해 몇 장의 그림을 던졌다 : http://stackoverflow.com/a/26172282/4018041 –

관련 문제