开放故事板上的XCode崩溃

时间:2015-11-20 09:59:20

标签: ios xcode xamarin uistoryboard

我正在使用Xamarin为iOS开发应用程序。最近,由于Xcode在打开.storyboard文件时立即崩溃,我无法在Xcode中访问我的storyboard文件或编译我的应用程序。

错误消息如下:

ASSERTION FAILURE <br>
Details:  Creating an out of band arbitration unit with a view (<IBUITableViewCell: 0x7fa88d13a5d0>) as the root under another view (<IBUITableView: 0x7fa88cf000e0>) is not yet implemented.<br>The view would need to be in two arbitration units, the one above for positioning constraints, and the root of the one below for sizing constraints. <br>But then that means that subviews cannot have constraints that affect the size of the view, so the view must have ibExternalTranslatesAutoresizingMaskIntoConstraints set to YES.
<br>Object:   <IBUITableViewCell: 0x7fa88d13a5d0>
<br>Method:   -ibArbitrationUnitWasCreatedWithReceiverAsRootUnderParent:

我尝试将我的故事板重新定位到上一个有效的版本(应用程序提交到应用程序商店的那个版本),奇怪的是,即使该版本也不起作用。
我的计划是手动删除每个视图控制器并逐个添加它们以找出错误的位置。
但是我不明白为什么打开故事板时XCode 崩溃而不只是告诉我xml中错误的确切位置。

因此,如果有人之前遇到过这个问题并且有更好的方法来修复它而不是手动执行它,我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:3)

ibExternalTranslatesAutoresizingMaskIntoConstraints needs to be YES

听起来故事板是用旧的Xamarin.iOS创建的,它引入了这个问题。

最快的解决方案是在vi(或Xcode / View As Source,或您选择的其他文本编辑器)中打开故事板,并将所有translatesAutoresizingMaskIntoConstraints =“NO”替换为“”。

保存文件,在Storyboard编辑器中重新打开它并修复你的约束。