如果我在XCode 5.0.2中创建一个新的单一视图项目,添加iAd Framework,在ViewController.h中实现ADInterstitialAdDelegate
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface ViewController : UIViewController <ADInterstitialAdDelegate>
@end
Run Code Online (Sandbox Code Playgroud)
和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");
}
Run Code Online (Sandbox Code Playgroud)
没有调用任何ADInterstitialAdDelegate方法.在iOS 6及更低版本中使用旧实现时,我也遇到了一些问题
interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self;
[ interstitial presentFromViewController:self ];
Run Code Online (Sandbox Code Playgroud)
只要
-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd
Run Code Online (Sandbox Code Playgroud)
然后被称为,但没有
- (void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd
Run Code Online (Sandbox Code Playgroud)
关闭广告后.有没有人记得有同样的问题或知道这里发生了什么?