Ответ 1
Вы должны добавить iAd.framework в свой проект.
Я пытаюсь получить баннер в своем приложении, но так как я добавил баннер, приложение не запустится.
Я получаю сообщение об ошибке:
Завершение приложения из-за неотображенного исключения "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;
}
}
Как вы думаете, что неправильно?
Вы должны добавить iAd.framework в свой проект.
Возьмите этот код:
#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