ChatGPT解决这个技术问题 Extra ChatGPT

NSInvalidUnarchiveOperationException:无法实例化名为 NSLayoutConstraint 的类

我对此很陌生。我按照 Apple 的 iPhone 项目“HelloWorld”教程一步一步来。我在 iPhone 5.0 模拟器中运行它,它崩溃了:

2012-11-02 14:46:06.782 HelloWorld[9880:c07] * 由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为 NSLayoutConstraint 的类”*第一次抛出调用堆栈:(0x14a2052 0xea2d0a 0x144aa78 0x144a9e9 0xfafd70x 0x32f6b7 0x23036d 0xd7e2c 0xd83a9 0xd85cb 0x38a73 0x38ce2 0x38ea8 0x3fd9a 0x10be6 0x118a6 0x20743 0x211f8 0x14aa9 0x138cfa9 0x14761c5 0x13db022 0x13d990a 0x13d8db4 0x13d8ccb 0x112a7 0x12a9b 0x1fed 0x1f15 0x1) terminate called throwing an exception(lldb)

有人可以告诉我出了什么问题吗?我正在使用 Xcode 4.5。

您必须在 xib/storyboard 中关闭 Autolayout 功能

r
rob mayoff

默认情况下,当您在 Xcode 4.5 中创建新的 iOS 项目时,您的故事板或 XIB 设置为使用 Autolayout,这是 iOS 6.0 中的新功能。 NSLayoutConstraint 类是 Autolayout 系统的一部分,在旧版本的 iOS 中不存在。

如果您想将您的应用程序部署到旧版本的 iOS,您需要更改您的故事板或 XIB 以不使用自动布局。这是文件检查器中的一个复选框:

https://i.stack.imgur.com/s0orB.gif


我使用 ScreenFlow 进行捕获和裁剪。我使用 Photoshop 将 .mov 转换为 .gif。
这也适用于xib!
即使实现了这些方法,这样做也会禁用从纵向到横向的视图旋转。如果您仍然希望轮换发生,您是如何解决问题的?在此先感谢,还有...漂亮的 gif ^^
@robmayoff 感谢 gif 和完美答案。我的问题在一秒钟内得到解决。 :)
我喜欢这个,所以我为异常断点创建了自己的。 rsaunders.co.uk/2013/06/add-exception-breakpoint.html
W
WDUK

您的 Xib 文件(界面构建器文件)包含 iOS 5 不支持的 AutoLayout 元素。

在 Xcode 中,转到您的 .xib 文件,并为每个文件关闭 AutoLayout。左侧应该有一个复选框,上面写着“使用自动布局”,取消选中它并重试。 (这是在左侧检查器的第一个选项卡下,当您选择了文件的所有者时)。


j
jbryant

当我在处理一个我想更新的旧项目时,我偶然发现了这个错误。我选择了“使用自动布局”复选框开始使用约束,但忘记将我的部署目标设置更新为 iOS 6。


y
yeesterbunny

您需要在 iPhone 6.0 模拟器中运行它。你的错误:

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

建议您使用自动布局,它仅适用于 iOS 6。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅