【发布时间】:2016-09-15 20:33:14
【问题描述】:
我刚刚在我的测试手机和 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)
【问题讨论】:
-
你做了干净的构建
-
你超出了你的缓冲区(我假设你没有正确访问金属,精灵套件正在这样做)
标签: ios iphone sprite-kit ios10 xcode8