为什么Xcode 7.2崩溃'无法实例化名为IBNSLayoutConstraint的类'?

时间:2015-12-10 13:04:47

标签: xcode xcode7 xcode7.1 xcode7.2

  

***因未捕获的异常而终止应用   'NSInvalidUnarchiveOperationException',原因:'无法实例化   名为IBNSLayoutConstraint'的类

我只是将Xcode更新为7.2然后我开始检查一切都没问题。但我有这个错误,它崩溃了。我解决了这个问题,每个人都说:“确保没有为未安装的视图安装任何约束。”但我没有任何卸载的约束。我没有任何NSLayoutConstraint网点。 非常感谢。

9 个答案:

答案 0 :(得分:23)

选择故事板禁用大小类解决我的问题。希望对你有帮助!谢谢 构建项目后,您可以再次启用大小类。

enter image description here

答案 1 :(得分:9)

在我的情况下,我有" padView"它没有安装在任何/任何大小的类中,而是安装在常规/常规大小的类中,但它的子视图安装在所有大小的类中。

enter image description here

" PadView"设置:

enter image description here

" PadView"子视图设置:

enter image description here

当我改变" PadView"子视图安装设置与" PadView"相同设置我的问题已解决。

enter image description here

答案 2 :(得分:4)

您可能使用 InterfaceBuilder Storyboard 进行本地化。您还应该考虑它们并删除其中的非活动约束,或使用可本地化的字符串进行本地化。

您还可以查看this回答。

Storyyboard localization section

答案 3 :(得分:2)

我在IB的主视图中停用了视图(未安装)。我删除了它并删除了所有约束而没有引用IB。并为我工作。

View deactivated

Attributes inspector

答案 4 :(得分:1)

我有一个为iPad设置自定义尺寸类的应用程序,因此应用程序将纵向和横向方向识别为常规/紧凑和紧凑/常规特征。

所以,当我只安装了一个R / C安装和C / R安装的视图时,我崩溃了:'无法实例化名为IBNSLayoutConstraint的类'当我升级到7.2决赛。

修复非常简单:为Any / Any添加视图安装:"已安装"

通过比较Storyboard源,似乎修复后删除了这一行:

// y4d-LA-PwQ是视图特定ID

答案 5 :(得分:1)

如果不应用上述答案中提到的hackery,很容易解决。将您的IB切换到任何/任何,并浏览每个顶视图的子视图。如果您发现未安装的超级视图及其子视图已安装,请在any / any中禁用此已安装的子视图,以便超级视图和子视图具有相同的安装状态。

答案 6 :(得分:1)

尝试选中“使用大小类”:

enter image description here

答案 7 :(得分:0)

当我的某个应用加载了我的XIB时,我收到了“无法实例化名为IBNSLayoutContraint的类”的错误。它最终成为我的一个约束,它的属性上有一个复选标记。这就像“从构建中删除”。我取消选中它并解决了我的错误。我认为这不是解决问题的方法。

答案 8 :(得分:0)

尝试删除有冲突的约束,然后再次添加;)