我在iPhone应用程序中实现了iAd。我正在使用storyboard并有两个viewControllers。我在两个viewControllers中都实现了一个AdBannerView,并将委托设置为self。我已导入并实施了AdBanner委托。我还实施了两种方法-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
和-(void)bannerViewDidLoadAd:(ADBannerView *)banner
,它们隐藏并显示广告视图,具体取决于是否有可用的广告。但是当我运行应用程序并在两个viewControllers之间来回切换大约10次时,我在Xcode的记录器中打印出来。我还在adView = nil
方法
-(void)viewDidDisappear:(BOOL)animated
WARNING: More than 10 instances of ADBannerView or ADInterstitialView currently exist. This is a misuse of the iAd API, and ad performance will suffer as a result. This message is printed only once.
这是什么意思?我实施iAd时做错了什么?这是否意味着我的应用程序将被Apple拒绝?
解决:
[adView removeFromSuperview];
方法中的 -(void)viewDidDisappear:(BOOL)animated
做到了!
答案 0 :(得分:2)
试试这个,我认为你的问题解决了
- (void) viewWillDisappear:(BOOL)animated
{
[_adView removeFromSuperview];
_adView.delegate = nil;
_adView = nil;
}
答案 1 :(得分:0)
如错误所述,您的应用中有超过10个横幅视图。通常这是因为导航控制器场景中广告的处理不当。您需要使用横幅视图的单例实例。
Google uibannerview single instance
。