我对此非常陌生。我按照苹果的教程一步一步地学习了iPhone项目"HelloWorld“。我在iPhone 5.0模拟器中运行它,它崩溃了:
2012-11-02 14:46:06.782 HelloWorld9880:c07 *由于未捕获的异常'NSInvalidUnarchiveOperationException‘正在终止应用程序,原因:’无法实例化名为NSLayoutConstraint的类‘*首次抛出调用堆栈:(0x14a2052 0xea2d0a 0x144a78 0x144a9e9 0x32f7d7 0x32f6b7 0x23036d 0xd7e2c 0xd83a9 0xd85cb 0x38a73 0x38ce2 0x38ea8 0x3fd9a 0x10be6 0x118a6 0x20743 0x211f8 0x14aa9 0x138cfa9x141c5 0x13d990a 0x13d8db4 x013d990a 0x13d8db4 x13d8cb0x131c0x1x1f01f0x14a9
有没有人能告诉我出了什么问题?我使用的是Xcode 4.5。
发布于 2012-11-03 03:18:37
默认情况下,当您在Xcode4.5中创建新的iOS项目时,情节提要或XIB被设置为使用自动布局,这是iOS 6.0中的一个新特性。NSLayoutConstraint
类是自动布局系统的一部分,在旧版本的iOS中不存在。
如果你想把你的应用部署到一个旧版本的iOS上,你需要改变你的故事板或者XIB来不使用自动布局。这是文件检查器中的一个复选框:
发布于 2012-11-03 03:19:28
您的Xib文件(接口构建器文件)包含iOS 5不支持的不支持的AutoLayout元素。
在Xcode中,转到您的.xib文件,并为每个文件关闭AutoLayout。左边应该有一个复选框,上面写着“使用AutoLayout",取消选中它,然后再试一次。(当您选择了File's owner时,这位于左侧检查器的第一个选项卡下)。
发布于 2012-12-09 17:40:08
当我在做一个我想要更新的旧项目时,我偶然发现了这个错误。我选择了“使用自动布局”复选框来开始使用约束,但忘记了将我的部署目标设置更新到iOS 6。
https://stackoverflow.com/questions/13201586
复制相似问题