ios - 在关闭 View 时,iAds 在 ios 5 ipad 中变为黑色。(深黑色)

标签 ios ios5 iad

我有一个基于选项卡的应用程序。我在应用程序委托(delegate)类中创建了一个 iAd 对象,并在我的三 View Controller 类中使用了它。它在第二个选项卡的屏幕和第三个选项卡的屏幕上运行良好。在第二个选项卡上有一个 TableView ,当单击该 TableView 的行时,我导航到新 View ,我在其中使用了与 iAd 相同的代码。单击 iAd 时,iAd 屏幕以横向模式打开,关闭时屏幕变为黑色并记录以下内容。

[ADHostWindowController supportsOrientation:]: message sent to deallocated instance 0x100bc740

我在 app delegate 中创建了这样的对象:

self.bannerView = [[ADBannerView alloc]init];
[self.bannerView setDelegate:self];

我正在像这样在 View Controller 中添加横幅:

[[[self appdelegate] bannerView] setFrame:CGRectMake(0, hightofView-180, 768, 66)]

我所有的 View Controller 都是纵向的,但 iAds 总是以横向模式打开。 这适用于 iOs 6,但不适用于 iPad 上的 iOS 5。我该如何解决这个问题?

最佳答案

我猜您的问题与 iAds 无关,而是与内存问题有关。 似乎类类型 ADHostWindowController 的对象被过早释放。

我的建议是确保 ADHostWindowController 未发布,即在调用 supportsOrientation: 之前 (retainCount>=1)。 (这肯定是在 iAd 打开之后)。

诊断:尝试在打开 iAd 之前记录该 ADHostWindowController 的保留计数(然后可能再保留一次),看看会发生什么。

关于ios - 在关闭 View 时,iAds 在 ios 5 ipad 中变为黑色。(深黑色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16089788/

相关文章:

ios - 处理恢复购买时如何处理旧交易?

ios - 应用程序因 iOS 13.2 中的 CPU 使用而终止

objective-c - iAd通知*const__strong'到参数

ios - 根据横幅 View 的外观调整布局

swift - 无法以函数作为参数执行选择器

IOS9 voip通讯

iphone - 使用自定义 HTTP header 在 Safari 中打开请求

xcode - 如何为 iPhone 和 iPad 制作 .xib 文件?

ios - 处理 iAd 无法在 Admob 中介设置中接收广告

ios - 无法在 IOS5 模拟器中编辑 UITextField