为什么不';在iPhone w/4.3上使用Google Admob中介显示iAds,直到设备旋转为止?

为什么不';在iPhone w/4.3上使用Google Admob中介显示iAds,直到设备旋转为止?,iphone,objective-c,admob,iad,Iphone,Objective C,Admob,Iad,我目前正在将我的应用程序从AdWhirl切换到admob中的中介。我让它在任何地方都能正常工作,除了在带有iPhone的4.3模拟器上。它适用于4.3版iPad和>=5版iPhone/iPad。(我的4.3设备遇到了一个不幸的结局,所以我现在无法对其进行测试…) 在iPhone上,AdMob广告可以正常显示,但在显示iAds时,需要先旋转设备才能显示广告。我不知道我做错了什么,也不知道这是否是框架中的错误 我有一个示例项目来演示这个问题 你知道这是什么原因吗 谢谢你的帮助 编辑:我在实际设备上进

我目前正在将我的应用程序从AdWhirl切换到admob中的中介。我让它在任何地方都能正常工作,除了在带有iPhone的4.3模拟器上。它适用于4.3版iPad和>=5版iPhone/iPad。(我的4.3设备遇到了一个不幸的结局,所以我现在无法对其进行测试…)

在iPhone上,AdMob广告可以正常显示,但在显示iAds时,需要先旋转设备才能显示广告。我不知道我做错了什么,也不知道这是否是框架中的错误

我有一个示例项目来演示这个问题

你知道这是什么原因吗

谢谢你的帮助


编辑:我在实际设备上进行了测试,这似乎也是一个问题。

这似乎是框架中的一个缺陷。以下是我提出的解决方案:

if ([self.controller.admobView.mediatedAdView isKindOfClass:[ADBannerView class]]) {
   if (![self.controller.admobView.mediatedAdView isDescendantOfView:self.controller.admobView]) {
      [self.controller.admobView addSubview:self.controller.admobView.mediatedAdView];
   }
   if (self.controller.admobView.mediatedAdView.frame.size.height == 0) {
      CGRect iadFrame;
      iadFrame.origin.x = iadFrame.origin.y = 0;
      iadFrame.size = [ADBannerView sizeFromBannerContentSizeIdentifier:((ADBannerView*)self.controller.admobView.mediatedAdView).currentContentSizeIdentifier];
      self.controller.admobView.mediatedAdView.frame = iadFrame;
   }
}
我还没有遇到任何问题,但时间会证明它是否会导致任何其他问题。。。(请注意,我正在将高度与零进行比较,而没有检查零rect,因为在我的测试中,由于某种原因,该比较失败了…)


(我也在admob group上发表了一篇文章,也许那里的人会知道更多…

您是否有机会了解这个问题是否也发生在设备上?我在4.3版iPhone上尝试了这段代码,但没有发现问题,但正如你所说,我确实在模拟器中看到了问题。好吧,这很奇怪。我没有访问我最初测试的运行4.3.5的iPhone4,但我选择了运行4.3.5的iPhone3GS,它没有发现问题。但iPhone4做到了,但我无法测试精简版,因此可能是其他原因导致了问题,我已经修复了这个问题。如果我有机会在iPhone4上测试这个简单的版本,我会的,看看会发生什么。。。