iOS应用程序无法在iOS 6或更低版本上运行

use*_*282 0 iphone objective-c ios autolayout

我正在手机上使用Xcode 5和iOS 7制作iPhone应用程序; 该应用程序适用于iOS 7.但是,当我在iPhone 6.1模拟器上运行该应用程序时,我收到此消息:

2013-09-01 10:46:30.075 Bars[30745:c07] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't
want. Try this: (1) look at each constraint and try to figure out which you don't
expect; (2) find the code that added the unwanted constraint or constraints and
fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you
don't understand, refer to the documentation for the UIView
property translatesAutoresizingMaskIntoConstraints) 
(
"<NSAutoresizingMaskLayoutConstraint:0x81b80a0 h=--- v=--- V:[UIWindow:0x8196f60(480)]>",
"<NSAutoresizingMaskLayoutConstraint:0x81b6910 h=-&- v=-&- UILayoutContainerView:0x8197530.height == UIWindow:0x8196f60.height>",
"<NSAutoresizingMaskLayoutConstraint:0x81b53b0 h=-&- v=-&- UITransitionView:0x75c0830.height == UILayoutContainerView:0x8197530.height - 49>",
"<NSAutoresizingMaskLayoutConstraint:0x81b40f0 h=-&- v=-&- UIViewControllerWrapperView:0x75f38e0.height == UITransitionView:0x75c0830.height>",
"<NSLayoutConstraint:0x75f5d10 V:[UILabel:0x75f6ee0(24)]>",
"<NSAutoresizingMaskLayoutConstraint:0x81b29b0 h=-&- v=-&- UIView:0x75f7500.height == UIViewControllerWrapperView:0x75f38e0.height>",
"<NSLayoutConstraint:0x7578850 V:[UILabel:0x75f7220]-(124)-|   (Names: '|':UIView:0x75f7500 )>",
"<NSLayoutConstraint:0x75fbfc0 UILabel:0x75f7220.baseline == UILabel:0x75f6ee0.baseline>",
"<NSLayoutConstraint:0x75fbcc0 V:[UIView:0x75f3ab0]-(11)-[UILabel:0x75f6ee0]>",
"<NSLayoutConstraint:0x75fbe40 V:|-(321)-[UIView:0x75f7160]   (Names: '|':UIView:0x75f7500 )>",
"<NSLayoutConstraint:0x75fbe80 UIView:0x75f7160.top == UIView:0x75f3ab0.top>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x75f5d10 V:[UILabel:0x75f6ee0(24)]>

Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
Run Code Online (Sandbox Code Playgroud)

我尝试删除所有约束,但我得到错误说我需要约束.我是Objective-C的新手,所以我真的不知道怎么读这些.如果你能让你的答案变得非常简单,那将非常有帮助!

Tim*_*eit 5

请记住,iOS 7仍然在NDA下.

这个日志意味着什么,你正在使用自动布局,你有两个相互矛盾的约束.

例如:您的视图有约束:

  • 10px顶级到superview
  • 60px底部到superview
  • 498像素高

这适用于任何超级视图,即568pt高度.例如,在iPhone 5上的全屏应用程序上.一旦超视图的大小发生变化(例如,当您的设备大小不同时),您将收到错误.

尝试两件事:

  1. 永远不要将所有约束放在对象上.要么:

    • 顶部和底部间距(当尺寸改变时,这将改变高度)
    • 顶部间距和高度(如果尺寸发生变化,这将改变底部的空间)
    • 底部间距和高度(将改变顶部的空间)
    • 左,右和宽度相同
  2. 尝试use Fullscreen在viewcontroller上进行设置.由于NDA,我目前无法解释,iOS 7和iOS 6之间的区别是什么,但我认为它可能有所帮助.