打开项目后Xcode 8立即崩溃(看似与场景编辑器相关)

时间:2016-10-11 00:31:12

标签: ios xcode sprite-kit xcode8

因此,当使用Sprite Kit场景编辑器和平铺贴图时,Xcode 8已经非常错误并且似乎不断崩溃......

在场景编辑器中打开场景并使用平铺贴图时发生错误。

现在我甚至无法在没有Xcode崩溃的情况下打开我的项目超过3秒...... 有点不知道该做什么......

我尝试卸载并重新安装Xcode ......但这没有做任何事情。

这是崩溃报告的粘贴框。 任何帮助都将非常感激。

http://pastebin.com/kDMjPYec

6 个答案:

答案 0 :(得分:18)

清除Xcode的派生数据文件夹对我有用。 您可以在Xcode中找到派生数据位置 - >偏好 - >地点标记。

答案 1 :(得分:16)

我有类似的问题(虽然与SceneKit无关) - Xcode在打开某个项目时会崩溃。从@ManyToOne(optional = false)目录下删除了我的UserInterfaceState.xcuserstate文件并解决了该问题。

答案 2 :(得分:12)

我有这个问题。使用解决方案2解决了问题。

解决方案1:

  1. cmd + comma (,)打开Xcode Preference窗口
  2. 转到Locations标签(最后一个)
  3. Screenshot 1

    1. Derived Data部分,检查路径旁边的箭头。点击它。
    2. 这会打开new window with location of Derived data
    3. 删除此文件夹的所有内容。每次构建项目时都会创建它。
    4. Screenshot 2

      解决方案2:

      1. 转到项目工作区所在的位置
      2. Right click on workspace并选择Show Package content
      3. Screenshot 3

        1. 这将打开一个包含工作空间内容的窗口。 Delete xcuserdata folder.此文件夹类似于缓存viz,存储您已完成的所有项目的详细信息,例如调试器集的数量等。
        2. Screenshot 4

答案 3 :(得分:5)

我相信Git reset命令是在这样的时刻制作的。因此,不要将手指指向Xcode,而是拥有一个承认事情有时会出错的工作流程会更好。 Git reset会带你回到已知的良好状态。

答案 4 :(得分:2)

似乎某个sks文件触发了崩溃...... 所以让它再次运作的诀窍是

一个。快速单击以获取Xcode以显示项目导航器

湾快速按住^⌘W,关闭当前打开的场景编辑器,项目保持打开并随后崩溃。

℃。从时间机器删除并恢复该文件的先前版本。

现在似乎有效。

要避免与Tile Map相关的崩溃,请确保在尝试使用之前保存该tile集。

根据这个问题。 Having issues with creating Tile Sets in Xcode 8. Anyone have any success?

在切线上,指责Xcode 8是公平的...... Xcode 8在Sprite Kit方面非常错误。

很难让我在8之前版本中创建的.SKS文件中使用新的spritekit功能。

例如,除非我复制SKS文件并删除旧版本,否则瓷砖地图通常似乎无法在这些较旧的场景中运行,然后再试一次。 更不用说Xcode经常崩溃了。

我经常要经常备份......但看起来我需要在这个版本的蛋壳上行走。这太糟糕了。

答案 5 :(得分:1)

错误是由于一些被索引的空数组引起的。

UNCAUGHT EXCEPTION (NSRangeException): *** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array

这是:

  

3 - [__ NSArrayM objectAtIndex:](在CoreFoundation中)4
   - [SKTileSet getCenterTileDefinitionForGroup:withRequiredOutputGroupAdjacency:](in   SpriteKit)5 - [SKTileMapNode updateTileGroupsAtX:y:](in   SpriteKit)6 - [SKTileMapNode rebuildTileSprites](在SpriteKit中)
  7 - [SKTileMapNode setTileSet:](在SpriteKit中)8
   - [SKEditorTileMapNode assetReference:didUpdateFromDocument:](在IDESpriteKitParticleEditor中)

我认为这是最无益的。但至少你知道它与瓷砖地图编辑器有关。这很可能是一个Apple bug。但正如上面提到的Mark Brownsword,如果你有源代码控制,你可以回到你以前版本的文件。然后使用该版本与当前版本进行差异。如果您没有使用源代码管理,那么很遗憾,这就是源控制有用的原因。

你提出的问题很难,因为你不清楚导致这种情况的行为。这并不是说你做的事情是不正确的。但是,当提供有限的信息时,这是一个困难的诊断。

相关问题