我按照苹果开发指南文档以编程方式在我的iOS应用程序上添加iAd.虽然我在stackoverflow上搜索了之前的解决方案,但不幸的是它们似乎都没有帮助我.有以下错误:
iAdBanner Failed [AppDeveloper] ADBannerView: Unhandled error (no delegate or delegate does not implement didFailToReceiveAdWithError:): Error Domain=ADErrorDomain Code=7 “The operation couldn’t be completed. Ad was unloaded from this banner” UserInfo=0xb07b9a0 {ADInternalErrorCode=7,ADInternalErrorDomain=ADErrorDomain,NSLocalizedFailureReason=Ad was unloaded from this banner}. One thing worth mentioning that most of the time I get the message that iAdBanner loaded. here is the following code of my project SinglePlayerViewController.h
代码如下
#import <iAd/iAd.h> @interface SinglePlayerViewController : UIViewController <ADBannerViewDelegate> { ADBannerView *adView; }
SinglePlaerViewController.m代码:
- (void)viewDidLoad { [super viewDidLoad]; adView = [[ADBannerView alloc] initWithFrame:CGRectZero]; adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; CGRect adFrame = adView.frame; adFrame.origin.y = self.view.frame.size.height-adView.frame.size.height; adView.frame = adFrame; adView.delegate =self; [self.view addSubview:adView]; } -(void) bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { NSLog(@"iAdBanner Failed"); } -(void) bannerViewDidLoadAd:(ADBannerView *)banner { NSLog(@"iAdBanner loaded"); }
解决方法
试试以下内容:
@interface SinglePlayerViewController : UIViewController<ADBannerViewDelegate> @property (nonatomic,retain) ADBannerView *adView; @end
和
- (void)viewDidLoad { [super viewDidLoad]; self.adView = [[ADBannerView alloc] initWithFrame:CGRectZero]; self.adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; CGRect adFrame = self.adView.frame; adFrame.origin.y = self.view.frame.size.height-self.adView.frame.size.height; self.adView.frame = adFrame; self.adView.delegate =self; [self.view addSubview:self.adView]; }
HTH