2012-09-04 7 views
10

Ich versuche, ein Banner in meiner App zu bekommen, aber seit ich das Banner hinzugefügt habe, startet die App nicht.iAd Banner funktioniert nicht

Ich erhalte eine Fehlermeldung, dass:

App beenden aufgrund nicht abgefangene Ausnahme 'NSInvalidUnarchiveOperationException', Grund: 'Konnte Klasse instanziiert ADBannerView namens'

-Code in .h-Datei:

#import <iAd/iAd.h> 

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

-Code in .m-Datei:

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

Was denken Sie, ist falsch?

Antwort

1

Nehmen Sie diesen Code:

#import <iAd/iAd.h> 

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

.m-Datei:

@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

Sie müssen iAd.framework in Ihrem Projekt hinzufügen.

+0

und auch self.canDisplayBanners = YES; – user2277872

+0

Schönes Beispiel hier: [31 Tage von iOS: Tag 29-Werbung mit iAd] (http://chrisrisner.com/31-Days-of-iOS--Day-29%E2%80%93Advertising-with-iAd) – leanne

+0

@lykant Schöne Antwort, beantwortete ich eine ähnliche Frage und warf ein paar Bilder, für diejenigen, die darauf achten, einen Blick zu werfen: http://StackOverflow.com/A/26172282/4018041 –