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

标签 ios iphone sprite-kit ios10 xcode8

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

但是,一旦我开始尝试在我的真实设备上进行测试,事情就不再顺利进行了。在运行我的 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) 

最佳答案

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

  1. (Command-Option-R)
  2. 转到“选项”选项卡。
  3. 将 Metal API 验证设置为禁用。

这对我有用...

关于ios - Sprite Kit 应用程序在真实设备上运行并插入计算机时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39519895/

相关文章:

ios - NSCoding 编码对象数组

c# - 如何将带有完成按钮的工具栏添加到UIPickerView?

ios - SpriteKit physicsBody 效果丢失

ios - 带有 SpriteKit 的 UITableView

iOS spriteKit 子节点相对于 View 坐标的位置

ios - XCode 崩溃导致 Storyboard消失

ios - json NSJSONSerialization 无法加载,因为数据是 html

iphone - If-Then 语句困惑,NSURL 结果不正确

iphone - 如何在 Xcode 中使用 MapKit 查找位置?

javascript:可以使用 touchmove 来模拟 iPhone 上的鼠标悬停吗?