【问题标题】:Xcode 6 GM crashes when selecting the main storyboard or a xib选择主情节提要或 xib 时 Xcode 6 GM 崩溃
【发布时间】:2014-11-05 09:17:11
【问题描述】:

我刚刚下载了 Xcode 6 GM,每次选择主情节提要(和特定的 xib)时,Xcode 都会崩溃。

要发送给 Apple 的错误包含以下信息

断言失败 /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-6238/InterfaceBuilder/Documents/IBCocoaTouchPlatform.m:531 详细信息:返回的状态计算结果不是 IBMarshallingResult,它是 {

有人遇到同样的问题吗?

【问题讨论】:

  • 同样的问题!非常沮丧!
  • 它是崩溃还是没有响应?我正在经历后者。
  • @BrandonRoth 长时间无响应导致 XCode 几乎每次都崩溃
  • 我的没有反应。没有离开足够长的时间来查看它是否崩溃。更新下面的 Java 版本似乎没有帮助。
  • 我们所有的旧故事板都存在同样的问题

标签: ios swift crash xcode6


【解决方案1】:

我听说这可能是自动布局的问题,所以我尝试手动禁用它并成功了!

如果你在storyboard文件上右击,作为源代码打开,去掉useAutolayout="YES",然后clean,rebuild,应该可以正常打开了。

【讨论】:

  • 这对我也有用,谢谢@Edgar Rocha Carvalho。
  • 实际上应该删除的确切是 useAutolayout="YES" :)
  • 为我工作,谢谢。 1-右键单击故事板文件 2-单击作为源代码打开选项 3-找到 useAutolayout="YES" 并将其更改为 NO Done
  • 大家好 - 这个答案确实有效。但它不会在删除 AutoLayout 时产生一些疯狂的问题。然后我们将如何使用 Xcode 来创建自适应 UI 等?除非,你把它关掉,启动 Xcode,让故事板工作,然后再打开它? (转为是)?
  • 这个问题让我发疯了,我不想关闭自动布局,因为我打算使用它。最后我点击“添加缺少的约束”。它不再崩溃。
【解决方案2】:

这给我带来了很多麻烦,并且无法重新创建故事板。我通过 ctrl/右键单击情节提要并做

“打开方式”>“源代码”

然后我做了一个小改动,撤消了它并重新保存了文件。然后我做了

“打开方式”>“界面生成器 - 故事板”

它打开时 Xcode 没有崩溃。

【讨论】:

  • 这太美了!这应该是公认的答案!
  • 它也对我有用,但是当我打开我的主故事板时我必须定期这样做,这会使 XC 崩溃。所以这个答案对我来说不是一个长期的解决方案:-/
  • 它适用于 Mac OS X 10.11.1 上的 Xcode 7.1,并且通过添加字符、保存、撤消和保存源代码模式然后返回可视模式不再出现崩溃。
  • 另一个崩溃以不同的方式解决了,所以我将在这里添加一个单独的答案。
【解决方案3】:

解决这个问题:

  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"

【讨论】:

    【解决方案4】:

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

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

    希望其中之一有所帮助:)

    【讨论】:

    • 在这里发现另一个问题原因:stackoverflow.com/questions/9109571/… 如果您使用 TotalFinder,这可能是问题所在。
    • 删除 .xcuserdata 文件夹对我有用——仅在查看故事板时出现此崩溃问题;不是 xib。
    • 清理 xcuserdata 似乎对我来说是长期有效的。自从我更改了我的 iOS 应用程序的名称后,这个问题经常发生。
    【解决方案5】:

    如果人们使用多个标签,这可能是个问题。每当在多个选项卡中打开同一个故事板时,我的 Xcode 6.0.1 就会变得无响应...

    【讨论】:

      【解决方案6】:

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

      您也许可以查看情节提要文件内部并确定它是否是有效文档 - 该文件是基于 XML 的,因此您应该能够查看是否有任何缺少的元素或合并冲突引入的问题,例如。您也可以尝试删除特定屏幕,看看是否能解决您的问题 - 也许问题与某个特定屏幕有关。

      我还建议检查您的对象是否实现了 IBDesignable 属性,以及您是否在情节提要中使用了该属性;如果是这样,可能是 NSCoder 无法从文件中恢复对象。

      【讨论】:

        【解决方案7】:

        从 Xcode 5 升级到 6.0.1 后,我一直在努力解决同样的问题。尝试加载我庞大而复杂的 iPad 故事板会冻结 Xcode,调出死亡风车,并最终崩溃。有时它也会在构建时显示错误,提到缺少 OID。

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

        然后我每次都通过提交、清理和构建来及时提交。我预计我会再次出现问题 - 但我一直到最近的提交而没有任何冻结。

        但是,当我尝试提前数周时,我再次陷入僵局并崩溃。

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

        这个回滚/前滚/重建过程对我来说大约需要 45 分钟,但这比我重建这个故事板所需的时间要少得多。希望对您有所帮助。

        【讨论】:

          【解决方案8】:

          我刚刚经历了同样的事情。由于 git 合并,它原来是情节提要中的重复 UILabel。显然,如果两个 UI 元素具有相同的内部 ID,Xcode 将会崩溃。

          有点类似于 andrew-burke 的方法,我查找负责任问题的方法涉及通过 git 跟踪问题更改。步骤:

          • 迭代地倒退 git 历史,检查每个提交,直到找到第一个不会导致 Xcode 崩溃的故事板。
          • 一旦您的提交开始崩溃,请检查 HEAD 并迭代还原问题提交中的情节提要更改。继续缩小范围,直到有一个 UI 元素或一行会导致崩溃。
          • 永久还原负责的更改并重新启动 Xcode。再次打开情节提要,您可能会收到有关内部不一致的警告。同意 Xcode 提出的更改建议,但请查看它们。
          • 如有必要,您现在可以尝试重新创建之前导致问题的 UI 元素或更改。

          【讨论】:

            【解决方案9】:

            当我在 Main.storyboard 上拖动一个按钮以创建 IBOutlet 时,我的 Xcode 崩溃了。

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

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

            OS X Version: Yosemite 10.10.1 
            
            Xcode Version: 6.1.1 (6A2008a)
            

            希望这会有所帮助。

            【讨论】:

              【解决方案10】:

              什么对我有用,仍在使用 AutoLayout

              1. 将故事板作为源代码打开
              2. 将 useAutolayout="YES" 编辑为 useAutolayout="NO"
              3. 关闭源代码
              4. 以 Interface Builder - Storyboard 的形式打开故事板
              5. 这是最重要的一步:在文件检查器视图(左窗格)中选中“使用自动布局”

              完成。

              【讨论】:

                【解决方案11】:

                Mac OS X 10.11.1 上的 Xcode 7.1 崩溃,通过右键单击 xcode 图标打开相同的项目使其再次崩溃。然后我右击 xcode 图标并从最近的列表中打开了一些其他项目,然后打开了从 xcode 的菜单最近项目中崩溃的同一个项目并且它没有崩溃。

                【讨论】:

                  【解决方案12】:

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

                  【讨论】:

                    【解决方案13】:

                    我在 Xcode 8 上遇到了这个问题,我能够

                    • 将我损坏的情节提要更改保存在 git 分支上。
                    • 切换到 在故事板获得之前,不同的分支恢复到较旧的提交 损坏的
                    • 在 Xcode 中查看故事板文件
                    • 切换回分支 损坏的情节提要,并且 Xcode 在仍然查看 故事板文件

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2012-09-16
                      • 2012-03-27
                      • 2014-12-04
                      • 1970-01-01
                      • 2018-06-15
                      • 2014-11-03
                      • 1970-01-01
                      相关资源
                      最近更新 更多