2012-09-04 34 views
10

Tôi đang cố gắng tải biểu ngữ trong ứng dụng của mình, nhưng vì tôi đã thêm biểu ngữ, ứng dụng sẽ không bắt đầu.Biểu ngữ iAd không hoạt động

tôi nhận được một lỗi nói:

Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSInvalidUnarchiveOperationException', lý do: 'Không thể khởi tạo lớp có tên ADBannerView'

mã trong tệp .h:

#import <iAd/iAd.h> 

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

Mã bằng .m tệp:

@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; 
    } 
} 

Bạn nghĩ gì là sai?

Trả lời

1

Hãy mã này:

#import <iAd/iAd.h> 

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

.m file:

@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

Bạn phải thêm iAd.framework vào dự án của bạn.

+0

và cũng có thể tự self.canDisplayBanners = YES; – user2277872

+0

Ví dụ điển hình ở đây: [31 ngày của iOS: Ngày 29-Quảng cáo với iAd] (http://chrisrisner.com/31-Days-of-iOS--Day-29%E2%80%93Quảng cáo-with-iAd) – leanne

+0

@lykant Câu trả lời hay, tôi đã trả lời một câu hỏi tương tự và đã ném vào một vài hình ảnh, cho những ai quan tâm: http://stackoverflow.com/a/26172282/4018041 –

Các vấn đề liên quan