2014-09-11 68 views
16

我刚下载了XCode 6 GM,每次选择主故事板(以及特定的xib),XCode都会崩溃。XCode 6 GM在选择主故事板或xib时崩溃

错误被发送到苹果中含有下列信息中 /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-6238/InterfaceBuilder/Documents/IBCocoaTouchPlatform.m:531 详细

断言失败:返回的状态计算结果是不是 IBMarshallingResult,它是{

任何遇到同样问题的人?

+2

同样的问题在这里!非常令人沮丧! – mikemike396 2014-09-11 19:12:10

+1

它是否崩溃或无响应?我正在经历后者。 – Brandon 2014-09-11 19:13:05

+1

@BrandonRoth延长无响应导致XCode几乎每次崩溃 – abinop 2014-09-11 19:20:32

回答

0

来自Xcode的早期版本,还是来自较早的Xcode 6版本之一?如果是后者,那么解决方案将是重新创建它。

您可以查看故事板文件并查看它是否是有效的文档 - 该文件是基于XML的,因此您应该能够查看是否存在由合并冲突导致的缺失元素或问题, 例如。您也可以尝试删除特定的屏幕,以查看是否可以解决您的问题 - 可能问题与某个特定屏幕有关。

我也建议检查你的对象是否实现了IBDesignable属性,如果你在故事板中使用了它,如果是这样,NSCoder可能无法从文件中恢复对象。

3

(1)您是否清理并重建了该项目?

(2)您是否尝试清空xcuserdata文件夹?该文件夹包含ui状态,可能是此类问题的原因,特别是在更新xcode时。右键单击.xcodeproj“文件”并选择“显示包内容”时,可以在项目目录中找到xcuserdata文件夹。关闭Xcode,清空xcuserdata文件夹并重新打开.xcodeproj文件。

希望这些人帮助:)

+0

在这里发现另一个问题原因:http://stackoverflow.com/questions/9109571/xcode-wont-compile-ios-apps-crashes-when-xib-or-storyboard-files-are-opened?rq=1如果你使用TotalFinder,这可能是问题。 – Eike 2014-09-17 12:46:28

+0

删除.xcuserdata文件夹适用于我 - 仅在观看故事板时才会遇到此崩溃问题;不是xib。 – 2014-09-29 15:45:10

+0

清洗xcuserdata似乎长期为我工作。自从我更改我的iOS应用程序的名称后,经常会发生此问题。 – 2014-12-06 18:44:29

23

我听说它可以是一个自动版式的问题,所以我试图手动禁用它和它的工作!

如果你右键单击故事板文件,打开源代码,并删除useAutolayout =“YES”,然后清理,重建,你应该可以打开没有问题。

+0

这实际上在6.0.1版本上为我工作,谢谢! – MiMo 2014-09-24 00:18:49

+0

这对我很有用,谢谢@Edgar Rocha Carvalho。 – Manolo 2014-09-28 20:02:22

+0

实际上应该删除的确切的一个是useAutolayout =“YES”:) – tong 2014-10-16 10:31:54

1

如果人们使用多个标签,可能是一个问题。我的XCode 6.0.1变得没有反应,每当同一个故事板打开多个选项卡...

0

我一直在从Xcode 5升级到6.0.1后摔跤相同的问题。试图加载我的庞大而复杂的iPad故事板会冻结Xcode,调出死亡风车,最终崩溃。有时它也会在编译时显示错误,并提及丢失的OID。

我最终回到了Git中的Storyboard文件(通过命令行,因为Xcode不会让我得到那么多),一直回到第一个直接从模板版本。我清理了该项目并重建了它,故事板正确加载。

然后,我及时地承诺提交,清理和建设每一次。我预计我会得到一个事情再次爆发 - 但我没有任何冻结一直到最近的提交。

当我试着跳了几个星期,但我得到了冻结和崩溃。

我不知道6.0.1中的新Storyboard编辑器是否需要以更简单的步骤构建其内部表示(和缓存?),而不是完整复杂文件的巨大飞跃。

对于我来说,这个回滚/前滚/重建过程花了大约45分钟,但这比我重建这个故事板花费的时间要少很多。希望这可以帮助你。

0

一个解决方案是打开XCode 5中的xib,让它改变一堆设置。然后在Xcode 6中打开。

16

这给我带来了很多麻烦,重新创建故事板不是一种选择。我过去是通过对故事板CTRL /右键单击并做

“打开为”>“源代码”

然后我做了一个小的变化,解开它,并重新保存的文件。然后我做了

“打开为”> “Interface Builder的 - 故事板”

它开始没有崩溃的XCode。

+3

这很美!这应该是被接受的答案! – Ravi 2014-11-03 08:24:55

+0

@Ravi同意。 +1 – Houssni 2014-11-04 09:12:27

+0

它也适用于我,但我必须定期做它打开我的主要故事板使XC崩溃。所以这个答案对我来说不是一个长期的修正: -/ – 2014-12-06 17:39:21

0

我刚刚经历过同样的事情。事实证明,由于git合并,在故事板中是重复的UILabel。显然,如果两个UI元素具有相同的内部ID,Xcode将会崩溃。

与安德鲁 - 伯克的方法有些相似,我找到负责任的问题的方法涉及通过git来追踪问题的变化。步骤:

  • 迭代地退后一步通过git历史记录,检查每个提交,直到找到第一个不会使Xcode崩溃的故事板。
  • 一旦你已经开始崩溃的提交,请检查HEAD并迭代恢复问题提交中的故事板更改。继续缩小它,直到您有一个UI元素或一行会导致崩溃。
  • 永久还原负责任的更改并重新启动Xcode。再次打开故事板,您可能会被警告内部不一致。同意Xcode提出的修改建议,但请检查它们。
  • 如有必要,您现在可以尝试重新创建UI元素或从头开始更改导致此问题的原因。
8

要解决此问题:

  1. 打开Finder窗口,并导航到你的计划
  2. 单击鼠标右键。xcodeproj文件(它实际上是一个包)
  3. 选择显示包内容
  4. 一个新的窗口出现
  5. 删除一个名为xcuserdata

文件夹如何避免这种情况在未来: 一次加入的.gitignore ,你必须发出以下命令:

git rm --cached ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/yourUserName.xcuserdatad/UserInterfaceState.xcuserstate 

git commit -m "Removing file thats driving me insane" 
+0

您节省了我的时间,谢谢! – Niralp 2015-03-08 17:13:58

+0

非常感谢。 – 2017-11-21 06:39:58

0

当我一拖再拖Main.storyboard一个按钮来创建一个我的Xcode坠毁。

我发现它是由构建设置项 - [Objective-C自动引用计数]引起的。

如果设置为“否”,Xcode将在创建IBOutlet时崩溃。

OS X Version: Yosemite 10.10.1 

Xcode Version: 6.1.1 (6A2008a) 

希望这会有所帮助。

0

什么为我工作,仍然使用自动版式

  1. 打开故事板作为源代码
  2. 编辑useAutolayout = “YES” 到useAutolayout = “NO”
  3. 关闭源代码
  4. 以界面生成器打开故事板 - 故事板
  5. 这是最重要的一步:在文件检查器V (左侧窗格)检查“使用AutoLayout”

完成。

0

在Mac OS X 10.11.1上的Xcode 7.1通过右键单击xcode图标而崩溃并打开相同的项目,导致它再次崩溃。然后,我右键单击xcode图标并从最近列表中打开一些其他项目,然后打开从xcode菜单最近项目崩溃的同一项目,但未崩溃。

0

我就遇到了这个上了XCode 8,我能

  • 保存的Git分支我的腐败故事板的变化。
  • 切换到 不同的分支还原到旧提交之前的故事板得到 损坏
  • 故事板视图文件中的XCode
  • 切换到备份与 腐败故事板分支,同时还观看了XCode没有崩溃 故事板文件