iAd для iOS 4.0 и выше, поэтому 4.1 должно быть хорошо.
Вы пропустили один из шагов ниже ...
- Добавьте iAd.framework в ваш проект
- # import в вашем контроллере .h файл
- Перетащите iAdBannerView на свой интерфейс
- Связать переменную adView и делегировать с помощью построителя интерфейса
- Реализация делегата bannerViewDidLoadAd, который показывает объявление
- Реализация делегата didFailToReceiveAdWithError, который скрывает рекламу
Вы можете увидеть код ниже и адаптироваться к своим потребностям ...
// RootView.h
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface RootView : UIViewController {
BOOL bannerIsVisible;
ADBannerView *adView;
}
@property (nonatomic) BOOL bannerIsVisible;
@property (nonatomic, retain) IBOutlet ADBannerView *adView;
@end
// RootView.m
#pragma mark -
#pragma mark iAd Banner
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
YourAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
UINavigationController *navigationController = (UINavigationController *)[appDelegate navigationController];
if (self.bannerIsVisible == NO) {
banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height);
[navigationController view].frame = CGRectMake(0, 0, 320, 410);
self.bannerIsVisible = YES;
}
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
YourAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
UINavigationController *navigationController = (UINavigationController *)[appDelegate navigationController];
if (self.bannerIsVisible) {
banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);
[navigationController view].frame = CGRectMake(0, 0, 320, 460);
self.bannerIsVisible = NO;
}
}