私のプロジェクトには分割ビューがあり、以前は Apple iAdSuite の分割ビューの例を使用して iAd を実装していました。今、私もAdmob広告を実装したいと思っていました.Adwhirlはxcode 4.5で多くのエラーを出したので、Admobメディエーション(iOS SDK 6.2.0)を使用してみました。
広告をロードして、必要に応じて iAd と Admob の間を適切に仲介します。ただし、大きな問題が 1 つあります。広告が読み込まれる前にデバイス (またはシミュレーター) を回転させると、次のクラッシュが発生します。
キャッチされていない例外 'NSRangeException' が原因でアプリを終了しています。理由: ' * -[__NSArrayI objectAtIndex:]: インデックス 0 が空の配列の境界を超えています'
* First throw call stack: (0x1b4e012 0x1701e7e 0x1b03b44 0x1c7ff 0x1c97b 0x1ba5b 0x1bff2 0x4581 0x699a0c 0x17156b0 0x701dfc0 0x701233c 0x701deaf 0x7386b4 0x6811a6 0x67fcbf 0x67fbd9 0x67ee34 0x67ec6e 0x67f435 0x67ef11 0x67eb2a 0x11c2dc9 0x1ba80c5 0x1b02efa 0x10f7482 0x8259be 0x6594d4 0x65a24b 0x64bcf8 0x1998df9 0x1998ad0 0x1ac3bf5 0x1ac3962 0x1af4bb6 0x1af3f44 0x1af3e1b 0x19977e3 0x1997668 0x64965c 0x203d 0x1f65)
libc++abi.dylib: 例外をスローして呼び出された終了
テストとして、iAdSuite 分割ビューの例 (ここで見つけることができます)にも Admob Mediation を実装し ましたが、同じクラッシュが発生しました。広告が読み込まれると、クラッシュすることなく好きなだけ回転できます。Admob のみ (メディエーションなし) を使用すると、このクラッシュを発生させることはできません。
Admobコードでクラッシュしているようですが、これを引き起こすために私が正しくしていないことが他にあるかもしれません. しかし、この時点で私は立ち往生しています。このクラッシュを解消する方法を知っている人はいますか?
編集: Admob がhttp://code.google.com/p/google-mobile-dev/downloads/listで提供する「Smart Banner Example 1.2」を入手しました。私が「変更」したのは、実際の Admob SDK 6.2.0 ファイルである iAdAdapter を追加し、iAd フレームワークを追加し、メディエーション ID を使用することだけでした。広告がまだロードされていない場合、これもローテーションでクラッシュします。
この問題を Google AdMob Ads Developers フォーラムに投稿しようとしましたが、投稿を承認する必要があるなどのメッセージが一瞬表示されました。2 日経っても、まだ誰も承認キューを見ていないようです。