Почему мои iAds не отображаются в iPhone Simulator в iOS 4.1? - PullRequest
0 голосов
/ 17 января 2011

Я пытаюсь отобразить iAds в своем приложении, построенном на основе iOS 4.1 SDK, но я не могу увидеть эту рекламу в iPhone Simulator.В видео, которые я видел об интеграции iAds в приложениях, использовалась ОС iOS 4.0.

Есть ли проблема с iOS 4.1 для отображения iAds или что-то не так в моем приложении?

1 Ответ

1 голос
/ 17 января 2011

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