2013-03-28 101 views
0

我已經在我的iPhone應用程序中實現了iAd。我正在使用故事板,並有兩個viewControllers。我已經在兩個viewControllers中實現了AdBannerView,並將委託設置爲self。我已經導入並實施了AdBanner委託。我還實施了兩種方法-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error-(void)bannerViewDidLoadAd:(ADBannerView *)banner,根據是否有可用的廣告隱藏和顯示adView。但是當我運行應用程序並在兩個viewControllers之間來回切換大約10次時,我在Xcode的記錄器中得到了這個結果。我在-(void)viewDidDisappear:(BOOL)animated方法iOS 6 iAd奇怪的警告

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.

還設置了adView = nil這是什麼意思?當我實施iAd時,我做錯了什麼?這是否意味着我的應用程序將被Apple拒絕?

解決:

[adView removeFromSuperview];-(void)viewDidDisappear:(BOOL)animated方法做到了!

+0

沒有ü刪除ADBannerView時瀏覽到另一個視圖控制器? –

+1

檢查您的視圖加載時是否只創建一個iAd視圖實例,並且只隱藏和顯示它在這些代理方法中,而不是刪除和重新創建... – jjv360

+0

Developer.iOS我已經設置了adView = nil是viewDidUnload方法,如果這是你的嗎? – Peter

回答

2

試試這個,我覺得你的問題解決

- (void) viewWillDisappear:(BOOL)animated 
{ 
[_adView removeFromSuperview]; 
_adView.delegate = nil; 
_adView = nil; 
} 
+1

是的!謝謝!這已經讓我瘋狂了好幾個小時了! – Peter

0

由於錯誤狀態,您的應用中有超過10個橫幅視圖。通常這是因爲在導航控制器場景中處理不當的廣告而導致的。您需要使用橫幅視圖的單例實例。

Google uibannerview single instance