【问题标题】:iOS 6 iAd property and methods deprecatediOS 6 iAd 属性和方法已弃用
【发布时间】:2012-09-24 00:48:25
【问题描述】:

自 iOS 6 发布以来,有些 iAd 属性和方法已被弃用,例如:

currentContentSizeIdentifier
requiredContentSizeIdentifiers
ADBannerContentSizeIdentifierPortrait
ADBannerContentSizeIdentifierLandscape

那么现在在两个方向上实施 iAd 的最佳方式是什么?我们现在应该手动调整横幅视图框架的大小吗?

【问题讨论】:

    标签: ios iad deprecated ios6


    【解决方案1】:

    我的应用程序只支持横向模式(应该也适用于纵向模式),并且 iAd 显示在应用程序的顶部。为了在 ios6 上使用,我必须这样做:

    在 Monotouch 中

    storesAdBannerView = new ADBannerView();
    storesAdBannerView.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
    

    对于objc(我不使用),我认为可能是

    [storesAdBannerView setAutoresizingMask:UIViewAutoresizingFlexibleWidth]
    

    【讨论】:

    • 哦,是的,你是对的,它很容易与 AutoresizingMask 一起使用!
    • 没有。这不起作用。如果您删除了那些已弃用的代码行并添加了 NOTHING,它仍然可以像上面的解决方案一样工作。这似乎解决了这个问题,因为您使用的是ADBannerContentSizeIdentifierPortrait。如果您使用横向,这会破坏您的应用程序。
    【解决方案2】:

    横向广告似乎已被淘汰。 见:http://www.iphonedevsdk.com/forum/iphone-sdk-development/108118-landscape-iad-banners-in-ios-6-edit-landscape-phased-out-completely.html

    需要进一步确认,因为我找不到任何有关该更改的 Apple 文档。

    【讨论】:

    • 是的,我很惊讶在 Apple doc 中没有替代这些弃用的方法:/
    • 开发者论坛说这不正确,iOS6 仍然支持横向广告:devforums.apple.com/message/755532#755532 我可以让他们在 iPhone 5 上工作,但 iPad 总是显示 768横向时宽度而不是 1024..
    【解决方案3】:

    我在那里看到了 2 个解决方法:http://www.touch-code-magazine.com/iad-code-is-broken-in-ios6/ 测试了第一个解决方案:

    简单的临时解决方案 - 您可以使用廉价的作弊方法快速让您的应用重新编译,将 #import 显式添加到您正在访问 currentContentSizeIdentifier 和大小名称常量的文件中。在您更改应用以使用新的自动布局功能之前,这应该可以让您继续前进。

    在 xcode 4.5 上运行正常(横幅测试正常)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 2012-09-12
      • 2012-12-18
      • 2018-05-09
      • 1970-01-01
      相关资源
      最近更新 更多