2011-08-11 13 views
2

これには簡単な答えがあると確信していますが、今や私を悩まし始めています!複数の画面にまたがるiAdを取得する

アプリにはiAdが組み込まれており、これは実装された画面で動作します。アプリはNavigationControllerを使用して複数の画面に移動しますが、iAdはその中の1つにしかありません。

Too many active banners (11). Creation of new banners will be throttled.

をアプリが、その後クラッシュ:私のアプリを通じてスタートからフィニッシュまで移動した後、私はメッセージを取得し、数回は言ってGDBに表示されます。

アップルのドキュメントを調べて、Googleで検索しましたが、問題の解決策が見当たりません。

誰かが私がどのように問題を解決できるか考えているなら、それは間違いなく私が怒ってしまうのを止めるだろう!ありがとう。

答えて

7

ビューが表示されていないときにiAdを削除しないようです。 viewWillAppeaerで作成し、viewDidDisappearメソッドで広告を削除することをおすすめします。このように、目に見えるように多数のバナーを作成するだけです。代わりにviewdidLoad/viewWillUnloadのペアを使用しているようです。

+0

viewWillAppearおよびviewDidDisappearへの作成および割り当て解除コードを移動しましたが、エラーまたはクラッシュが表示されなくなりました。ご協力いただきありがとうございます。 – ThisDarkTao

+0

素晴らしい!説明の簡単なメモ:画面からプッシュしてポップするビューはメモリに保持されます。そのため、ビューが見えなくなったときにiAdsが単に削除されるだけではありません。しかし、あなたが行った変更を行うことは、問題を解決します。 – Moshe

+0

@Moshe私のviewWillDisAppearでAdBannerViewを削除しようとすると、AdBannerViewはまだ次のView Controllerに読み込まれます。説明できますか? – AdamT

1

また、すべての画面で固定の場所にADBannerViewを作成することもできます。上記の方法より少し難しいですが、うまく見えます。たとえば、あなたがタブバーコントローラのアプリケーションを持っている場合、あなたはあなたのアプリケーションのデリゲートで、次の操作を行うことができます。

[self.myTabBarController.view addSubview:self.myAdView]; 

それは広告の下に他のビューを配置する少しトリッキー得ることができます。

関連する問題