Основываясь на моем ответе на код Apple в ADBannerNavigation, вы можете сократить его до необходимого, чтобы проверить, появляется ли объявление.Я имею в виду:
1) взять код в том виде, как он есть в делегате приложения, определяя iAd и SharedADBannerView, а в appdelegate.m:
adBanner = [[ADBannerView alloc] initWithFrame:CGRectZero];
// Set the autoresizing mask so that the banner is pinned to the bottom
self.adBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin;
// Since we support all orientations, support portrait and landscape content sizes.
// If you only supported landscape or portrait, you could remove the other from this set
self.adBanner.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil];
2) поэтому экземпляр существуеткогда ваш контроллер появляется в поле зрения, вы можете просто добавить в viewDidAppear код Apple, но изменить источник на что-то видимое (Apple предлагает вывести его из поля зрения и затем анимировать его в поле зрения, что хорошо, но на первом этапе проверьте, что это здесь):
ADBannerView *adBanner = SharedAdBannerView;
// Depending on our orientation when this method is called, we set our initial content size.
// If you only support portrait or landscape orientations, then you can remove this check and
// select either ADBannerContentSizeIdentifierPortrait (if portrait only) or ADBannerContentSizeIdentifierLandscape (if landscape only).
NSString *contentSize;
contentSize = UIInterfaceOrientationIsPortrait(self.interfaceOrientation) ? ADBannerContentSizeIdentifierPortrait : ADBannerContentSizeIdentifierLandscape;
// Calculate the intial location for the banner.
// We want this banner to be at the bottom of the view controller, but placed
// offscreen to ensure that the user won't see the banner until its ready.
// We'll be informed when we have an ad to show because -bannerViewDidLoadAd: will be called.
CGRect frame;
frame.size = [ADBannerView sizeFromBannerContentSizeIdentifier:contentSize];
frame.origin = CGPointMake(0.0f, 100)); // CHANGE TO APPLE'S CODE
// Now set the banner view's frame
adBanner.frame = frame;
// Set the delegate to self, so that we are notified of ad responses.
adBanner.delegate = self;
// Set the autoresizing mask so that the banner is pinned to the bottom
adBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin;
// Since we support all orientations in this view controller, support portrait and landscape content sizes.
// If you only supported landscape or portrait, you could remove the other from this set
adBanner.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil];
// At this point the ad banner is now be visible and looking for an ad.
[self.view addSubview:adBanner];
На этом этапе вы добавили видимый баннер, поэтому он должен отображаться, даже если методы делегирования не реализованы.После того, как вы выполните эту работу, вы можете подробнее рассказать о методах делегатов для управления анимацией.