在我的项目中,我有一个splitview,之前使用Apple iAdSuite的splitview示例实现了iAds。现在我也想实现Admob广告,因为Adwhirl在xcode 4.5中出现了很多错误,我尝试使用Admob Mediation(iOS SDK 6.2.0)。
我要加载广告,并在必要时在iAd和Admob之间正确调解。但是,仍然存在一个大问题。当我在加载任何广告之前旋转设备(或模拟器)时,我会遇到以下崩溃:
由于未捕获的异常'NSRangeException'而终止应用程序,原因:' * - [__ NSArrayI objectAtIndex:]:索引0超出空数组的边界'
* 第一次抛出调用堆栈: (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 splitview示例中也实现了Admob Mediation( can be found here)并看到同样的崩溃。加载广告后,您可以随意旋转,而不会发生任何崩溃。当我只使用Admob(没有调解)时,我不能发生这种崩溃。
似乎它在Admob代码中崩溃了,但可能还有其他一些我做得不对的事情。但此时我被困住了。有没有人知道如何让这次崩溃消失?
修改 我得到了Admob在http://code.google.com/p/google-mobile-dev/downloads/list提供的“智能横幅示例1.2”。我唯一要做的就是添加实际的Admob SDK 6.2.0文件,iAdAdapter,添加iAd框架并使用中介ID。当尚未加载广告时,这也会在轮播时崩溃。
我尝试在Google AdMob广告开发者论坛上发布此问题,但简短地说出了类似帖子需要批准的内容。两天后,似乎没有人看过批准队列。
答案 0 :(得分:0)
看起来这可能是AdMob SDK的问题。我可能会在您第一次收到广告时设置一个布尔值(即firstAdReceived
),然后在更改方向更改时更改adSize
和其他横幅广告特征之前检查它。