If I create a new single view project in XCode 5.0.2, add the iAd Framework, implementing the ADInterstitialAdDelegate in ViewController.h
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface ViewController : UIViewController <ADInterstitialAdDelegate>
@end
and the delegate methods in ViewController.m
-(void)viewDidLoad
{
[super viewDidLoad];
[ self performSelector:@selector(onDelay) withObject:nil afterDelay:2 ];
}
-(void)onDelay
{
self.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual;
[ self requestInterstitialAdPresentation ];
}
-(void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error
{
NSLog(@"interstitialAd didFailWithError");
}
-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd
{
NSLog(@"interstitialAdDidLoad");
}
none of the ADInterstitialAdDelegate methods are called. I'm also experiencing some problems using the old implementation in iOS 6 and below
interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self;
[ interstitial presentFromViewController:self ];
Only
-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd
is called then, but no
- (void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd
after closing the ad. Does anybody remember having the same problems or know what's going on here?