2

我正在将 iAd 框架添加到现有应用程序中。该应用程序仅适用于纵向,仅适用于 iPhone。一切都在 iOS 6 中运行,无论是在模拟器中还是在 iPhone 5 上。但是,它在 iOS 5 中在模拟器和 iPhone 4 上都失败了。它抛出以下异常:

'NSInternalInconsistencyException', reason: 'currentContentSize must be one of the requiredContentSizes; 'ADBannerContentSizePortrait' is not in {(
    ADBannerContentSizeLandscape
)}'

在这一行抛出异常:

iAdBannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;

我看不到以这种方式显示除横向横幅之外的任何其他内容。我假设我一定在某处配置了错误,但我不知道在哪里,并且很好奇它在 iOS 6 中运行良好。

非常感谢这里的任何帮助!谢谢!

更新:我无法回答这个问题,因为我没有足够的代表点数。但我已经修好了:

背景:我在 ADBannerView 周围使用 Kobold2D 包装器。它的类,KKAdBanner,是实际调用导致错误的行的类。事实证明,它在此调用之前通过将 ADBannerView 配置为仅允许横向大小。这是一个配置问题,我可以解决它。

当然,现在我完全不知道为什么它曾经在 iOS 6 中运行过,但是哦,好吧 :-)

4

1 回答 1

0

我从来没有使用过它,但是根据我从文档中了解到的情况,您需要设置@property(nonatomic, copy) NSSet *requiredContentSizeIdentifiers
所有currentContentSizeIdentifier可能的值。

你的例外是说在那个 NSSet 中你只有一个用于景观的。
您看到的差异可能是由于不同 iOS 版本中的默认值不同。(我正在猜测)

参考这里。

于 2012-12-08T20:31:12.033 回答