每当我将一个对象(特别是 UIButton 或 UILabel)添加到我的 Storyboard 视图中时,Xcode 都会崩溃。我尝试重新启动并重新安装 Xcode。我还尝试在一个新项目中重新创建我的视图。一开始它并没有崩溃,但是一旦我向情节提要添加了几个按钮,它就会崩溃。
当我在导航器中右键单击 MainStoryboard.storyboard 并选择“打开为:属性列表”时,出现错误:“无法读取数据,因为它已损坏。” 事实上,当我尝试以相同方式打开我的 .h 和 .m 文件时,就会出现此错误。
我在 Mountain Lion 上运行最新版本的 Xcode (4.5)。以下是崩溃日志的一部分。如果我需要包含更多内容,请告诉我。
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 4G182
ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-1926/IBPlugin/Utilities/IBObjectMarshalling.m:651
Details: Failed to arbitrate IBNSLayoutConstraint, IBUIButton, IBUILabel, IBUIView, and IBUIViewController.
Interface Builder 在与 iOS 模拟器通信时遇到错误。如果您选择为此问题提交崩溃报告或雷达,请检查 Console.app 以获取“Interface Builder Cocoa Touch Tool”的崩溃报告,并将其内容包含在您的崩溃报告中。
异常名称:IBAssertionFailure 异常原因:ASSERTION FAILURE:原因:所有需要候选约束的视图都已生成约束。这很可能表明存在涉及以下视图布局的错误: > 的布局引擎框架 ({{169, 392}, {64, 43}}) 与画布框架 ({{168, 392}, {64, 43) 不匹配}})
更新:
显然我研究得不够好。我发现有人遇到完全相同的问题: Xcode Interface Builder crash when I edit storyboard
在导航器中右键单击 Storyboard -> 显示文件检查器 -> 取消选中“使用自动布局”
问题解决了!