为什么 Xcode 7.2 崩溃 'Could not instantiate class named IBNSLayoutConstraint'?

why Xcode 7.2 crash 'Could not instantiate class named IBNSLayoutConstraint'?

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named IBNSLayoutConstraint'

我刚刚将 Xcode 更新到 7.2,然后我开始检查是否一切正常。但我有这个错误,它崩溃了。我解决了这个问题,每个人都说 "Make sure you don't have any constraints installed for views that aren't installed." 但我没有任何未卸载的约束。而且我没有任何 NSLayoutConstraint 网点。 非常感谢。

我确实遇到了类似的问题,当我的一个应用程序加载我的 XIB 时,我收到了 "Could not instantiate class named IBNSLayoutContraint" 错误。它最终成为我的约束之一,在它的属性上有一个复选标记。有点像 "Remove from Build"。我取消选中它并解决了我的错误。我认为这不是您问题的解决方案。

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

您还可以查看 this 答案。

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

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

在我的例子中,我有 "padView" 未安装 any/any 尺寸 class 并且安装了 regular/regular 尺寸 class,但它是子视图已安装所有尺寸 classes.

"PadView" 设置:

"PadView" 子视图设置:

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

我有一个为 iPad 设置自定义大小 类 的应用程序,因此应用程序将纵向和横向方向识别为 Regular/Compact 和 Compact/Regular 特征。

因此,当我只安装一个视图作为 R/C 安装和 C/R 安装时,我遇到了崩溃:'Could not instantiate class named IBNSLayoutConstraint' 当我升级到 7.2 final 时。

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

通过比较 Storyboard 源代码,该行似乎在修复后被删除了:

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

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

尝试检查 "Use Size Classes":

尝试删除冲突约束并重新添加;)