升级到OS X Mavericks后无法打开故事板 ASSERTION FAILURE。

4

特定应用程序信息: 正在发送 _openAs 到从中 ProductBuildVersion: 5A2053 在 /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-3746/IBPlugin/Utilities/IBObjectMarshalling.m 中的 ASSERTION FAILURE:670 详细信息:无法计算 IBLayoutConstraint、IBUIButton、IBUIImageView、IBUILabel、IBUISwitch、IBUITableViewCell 和 IBUITableViewCellContentView 的自动布局状态。

Interface Builder 在与 iOS 模拟器通信时遇到错误。如果您选择为此问题提交闪退报告或 Radar,请检查 Console.app 中“Interface Builder Cocoa Touch Tool”的闪退报告,并将其内容包含在您的闪退报告中。

异常名称:IBAssertionFailure 异常原因:ASSERTION FAILURE:containingTableView 原因:被添加到布局引擎中的任何表格视图单元格都应包含在表格视图中,以获取正确的测量值。 文件:/SourceCache/IBSimulatorComponents/IBSimulatorComponents-3649/IBCocoaTouchTool/WidgetIntegration/IBUITableViewCellIntegration.m:219 方法:-[UITableViewCell(IBCocoaTouchToolIntegration) ibEffectiveViewToPlaceInLayoutEngineWindow]

在升级到 OSX Mavericks 后...当我尝试在 Xcode 5 中打开我的故事板时出现此异常。如何解决?


1
你是否安装了新的Xcode 5?如果没有,请安装。 - David H
我也安装了Xcode的更新。 - Roksolana Kosiv
1
你尝试过进行项目清理吗?如果这不起作用,那么可以尝试删除项目的Derived文件夹,退出Xcode,重新启动并再次尝试。你还进行了磁盘工具磁盘验证、权限修复等操作吗?我现在也遇到了自己的Mavericks问题... - David H
任何添加到布局引擎中的表视图单元格都应该包含在表视图中,以便获得正确的度量值。问题就像这样,但是即使我尝试编辑它,故事板也会崩溃。 - Roksolana Kosiv
1
@DavidH 谢谢!我知道这距离你的评论已经快3年了,但我完全忘记尝试像那样简单的解决方案来解决类似的问题,你的建议起作用了 :-) - Tejas Sharma
算了,没事了。我刚回来,不知道为什么难过 :-( - Tejas Sharma
1个回答

6
我最近在XCode 6+中遇到了同样的问题。我复制了一个TableView section到分割视图控制器中,但没有注意到。这个问题并没有导致XCode在那一刻崩溃,直到下一次启动才出现问题。 如果你甚至无法打开项目,因为XCode尝试在启动时打开包含此问题的Storyboard,请尝试以下操作: 为了解决这个问题,我不得不删除项目文件夹和项目工作区文件夹中包含的所有用户数据文件(您可以通过右键单击项目文件并选择“显示包内容”来查看这些文件)。基本上只需删除项目中包含xcuserdata或xcshareddata名称的所有文件夹。现在你应该能够再次打开项目了。 如果Xcode在尝试查看Storyboard时崩溃,并显示上述错误: 我所做的第一件事是右键单击Storyboard(不要先左键单击它,否则它会再次崩溃!),然后选择“打开方式 ->源代码”。然后我搜索了标记“tableViewCell”,并查找了未包含在tableview元素中的单元格。然后你只需要删除不正确的xml元素和子元素(在我的情况下是整个tableviewsection),保存它,你就可以继续使用了(希望如此)。
希望这对其他遇到此问题的人有所帮助。

仅在源代码模式下打开我的故事板并返回到界面构建器后,Xcode就崩溃了。尝试将故事板从(全部)更改为(C R),但Xcode仍然崩溃。经过几分钟的绝望,我按照您的建议(第二个)删除了错误的tableViewCell,然后它奏效了。你救了我的命!你是真正的超级英雄!哈哈,谢谢,伙计。 - insetoman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接