ios - Spritekit 应用程序在设备上运行时崩溃,在 swift 3 转换后在模拟器上工作

标签 ios sprite-kit swift3

在 swift 3 转换之前,我的应用程序以前在设备上工作。它仍然适用于模拟器。游戏在设备上加载,然后在 5-6 秒后崩溃。

运行 10.12.1 Beta (16B2333a),设备:10.0.2

错误:

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(372) * 2) must be <= [indexBuffer length](240).

无论我的 Sprite 是否在移动,障碍物都会在崩溃之前到达框架的一半。我知道我超出了我的索引范围,看起来它在访问我的金属文件时遇到了问题?我只是不知道该怎么办。帮助表示赞赏!

最佳答案

这对我有用。我必须通过编辑方案来禁用金属验证(Command-Option-R)是到达那里的一种方法,转到选项选项卡。将 Metal API 验证设置为已禁用。

关于ios - Spritekit 应用程序在设备上运行时崩溃,在 swift 3 转换后在模拟器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39936444/

相关文章:

ios - 将所有 SKSpriteNode 子节点合并为一个 SKSpriteNode

ios - 无法在 SpriteKit 中获取 skAudioNode 的 3D 音频效果

ios - Type Any 没有下标成员(Array,Swift 3.0)

ios - 使 UICollectionView 可缩放?

ios - NSNumberFormatter 格式不正确

ios - 如何在 UILabel 中使字符等宽

ios - 类 CKPPTSubTest 在两个框架中都实现了。将使用两者之一。哪个是未定义的

ios - Facebook requestForMyFriends 返回没有 friend 数据

sprite-kit - SpriteKit 检测范围

ios - 手势抛出无法识别的选择器错误