Sprite Kit应用程序在真实设备上运行并插入计算机时崩溃

时间:2016-09-15 20:33:15

标签: ios iphone sprite-kit ios10 xcode8

我刚刚在我的测试手机和XCode 8上更新了iOs10。我运行了代码迁移,并在我的模拟设备上成功运行了测试。

但是,一旦我开始尝试在我的真实设备上进行测试,事情就会停止顺利进行。在运行我的Sprite Kit游戏大约5到10秒后,它会崩溃并使手机无法运行,直到我从计算机上拔下它。拔掉它后,游戏正常运行,仍然非常流畅。

这是打印到控制台的启动通知:

2016-09-15 22:20:49.490959 AppName[411:38688] [DYMTLInitPlatform] platform initialization successful
2016-09-15 22:20:49.684189 AppName[411:38634] Metal GPU Frame Capture Enabled
2016-09-15 22:20:49.684758 AppName[411:38634] Metal API Validation Enabled

这是手机插入电话后应用崩溃后收到的错误:

/BuildRoot/Library/Caches/com.apple.xbs/Sources/Metal/Metal-85.83/ToolsLayers/Debug/MTLDebugRenderCommandEncoder.mm:130: failed assertion `indexBufferOffset(12) + (indexCount(480) * 2) must be <= [indexBuffer length](960).'
(lldb) 

3 个答案:

答案 0 :(得分:1)

尝试通过编辑方案禁用金属验证:

  1. (命令选项-R)
  2. 转到“选项”标签。
  3. 将Metal API验证设置为已禁用。
  4. 这对我有用......

答案 1 :(得分:0)

我可以解决这个问题,取消选中&#34; Debug可执行文件&#34;在该计划中 enter image description here

答案 2 :(得分:0)

  • Command-Option-R
  • “等待可执行文件启动”
  • 手动运行

不时为我工作。