20

*** 由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为 IBNSLayoutConstraint 的类”

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

4

9 回答 9

24

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

在此处输入图像描述

于 2015-12-11T15:25:08.913 回答
10

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

在此处输入图像描述

“PadView”设置:

在此处输入图像描述

“PadView”子视图设置:

在此处输入图像描述

当我将“PadView”子视图安装设置更改为与“PadView”设置相同时,我的问题得到了解决。

在此处输入图像描述

于 2015-12-16T11:28:28.060 回答
4

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

你也可以检查这个答案。

故事板本地化部分

于 2015-12-11T09:25:19.173 回答
3

我在 IB 的主视图中有一个视图已停用(未安装)。我删除了它,也删除了所有约束,没有参考 IB。并为我工作。

查看已停用

属性检查器

于 2015-12-14T19:15:16.603 回答
1

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

因此,当我仅将一个视图安装为 R/C Installed 和 C/R Installed 时,当我升级到 7.2 final 时出现崩溃:“无法实例化名为 IBNSLayoutConstraint 的类”。

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

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

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

于 2015-12-16T22:15:37.620 回答
1

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

于 2016-02-15T17:56:51.117 回答
1

尝试检查“使用大小类”:

在此处输入图像描述

于 2016-03-11T05:46:05.083 回答
0

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

于 2015-12-10T23:45:39.990 回答
0

尝试删除冲突的约束并再次添加它;)

于 2020-07-29T10:17:49.467 回答