10

アプリでバナーを取得しようとしていますが、バナーを追加したため、アプリが起動しません。

次のようなエラーが表示されます。

キャッチされていない例外 'NSInvalidUnarchiveOperationException' が原因でアプリを終了しています。理由: 'ADBannerView という名前のクラスをインスタンス化できませんでした'

.h ファイルのコード:

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

何が間違っていると思いますか?

4

2 に答える 2

19

プロジェクトにiAd.frameworkを追加する必要があります。

于 2012-12-01T02:01:52.310 に答える
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
于 2012-10-19T23:18:44.953 に答える