【问题标题】:iAd not working in iPhone in landscapeiAd 无法在 iPhone 中横向运行
【发布时间】:2023-03-11 14:52:02
【问题描述】:

我有一个只能在 iPhone 上横向运行的应用。我已实施 iAd 以在屏幕底部放置横幅。这在 Xcode 4 中编译时效果很好,但现在在 Xcode 5 中出现了问题。当用户在旧版本中点击广告时,全尺寸广告将纵向加载。但是现在当用户点击广告时,它会加载广告,但只有屏幕的上半部分有广告 - 底部保持空白。它在模拟器和使用“测试”广告的测试设备上正常工作,但现在应用程序已上线,但已损坏。

一切都在 iPad 上完美运行,不仅限于横向。我已经仔细检查了我的代码,一切都与文档所述相同。苹果对此帮助不大。有什么想法吗?

更新:我又找到了 2 块拼图。这只发生在 iOS 8 上。当用户点击横幅广告时,我收到“无法同时满足约束”错误,内容如下:

"<NSLayoutConstraint:0x7c948310 H:[UIView:0x7c947e80(219)]>",
"<NSLayoutConstraint:0x7c94edf0 H:[UILabel:0x7c94ecb0'Elapsed\n0:00'(62)]>",
"<NSLayoutConstraint:0x7c94f180 H:[UIView:0x7c94a430]-(0)-[UILabel:0x7c94ecb0'Elapsed\n0:00']>",
"<NSLayoutConstraint:0x7c94f210 UIView:0x7c94a430.width == UIView:0x7c94a320.width>",
"<NSLayoutConstraint:0x7c94f270 H:|-(0)-[UIView:0x7c94a430]   (Names: '|':UIView:0x7c9479e0 )>",
"<NSLayoutConstraint:0x7c94f2d0 H:[UILabel:0x7c94ecb0'Elapsed\n0:00']-(-1)-[UIView:0x7c94a320]>",
"<NSLayoutConstraint:0x7c94f390 H:[UIView:0x7c94a320]-(1)-[UIView:0x7c947e80]>",
"<NSLayoutConstraint:0x7c94f3f0 UIView:0x7c9479e0.centerX == UIView:0x7c947e80.centerX>",
"<NSLayoutConstraint:0x7c9504b0 H:|-(0)-[UIView:0x7c9479e0]   (Names: '|':UIView:0x7c94f920 )>",
"<NSLayoutConstraint:0x7c9504e0 H:[UIView:0x7c9479e0]-(0)-|   (Names: '|':UIView:0x7c94f920 )>",
"<NSLayoutConstraint:0x7c971e90 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7c94f920(320)]>"

"Will attempt to recover by breaking constraint "
"<NSLayoutConstraint:0x7c948310 H:[UIView:0x7c947e80(219)]>"

而且,状态栏现在被我的视图覆盖,而在 ios7 中显示。我最初为 ios7 构建了故事板布局,因此发生了一些变化。我真的不在乎(实际上更喜欢)不显示状态栏,但我不知道如何调试这些约束。

【问题讨论】:

  • Info.plist 和视图控制器支持哪些界面方向?
  • iPhone 的横向左侧和横向右侧。
  • 您在使用情节提要吗?那里有什么东西会影响旋转和调整大小吗?您可以使用单个空白视图控制器创建一个新项目并像您一样设置景观并尝试重现该问题吗?我有一个纵向和横向应用程序,它在 iOS 8.0 上仅显示 iAd 纵向。
  • 我正在使用故事板。但是创建一个新项目无济于事 - 在模拟器和开发设备中一切正常。其苹果签名的应用程序已损坏。
  • 会的。使用另一个空的代码签名和安装的设备应用程序来重现错误,您可以证明它存在,它是如何发生的,并在bugreport.apple.com 提交报告以修复它。我经常发现通过重新创建错误的步骤会发现错误是我的错并解决问题。我并不是要粗鲁,但是通过公开发布的示例项目,我可以看到它在我的设备上的行为,或者注意到代码中是否有问题,并能够提供更多帮助。

标签: objective-c iphone ios8 constraints iad


【解决方案1】:

您是否在使用 Storyboard — 那里有什么东西会影响旋转和调整大小吗?我建议使用一个空白视图控制器创建一个新项目,并像你一样设置景观,并尝试在那里重现问题。

可能会影响这一点的一些因素是:

我经常发现通过重新创建错误的步骤会发现错误,让我看到工作版本与我的版本之间的差异,并最终纠正问题。


我发现将这些与情节提要中的进行比较最容易。像这样refer to the visual format language 解密它们。

看起来确保特定视图水平 219 等于其父视图的约束被破坏。检查您的故事板是否有任何自动布局警告或错误,我发现它在 Xcode 6 中非常有用。

您有几个限制条件,如果您可以在调试时消除一些限制,这可以使事情变得更简单。最后,如果您的子视图都相互引用,这可能会使满足约束更加困难,如果是这种情况,引用父视图可能有助于防止冲突。

这里有一些调试参考:

【讨论】:

    猜你喜欢
    • 2014-08-31
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多