由于 iOS9 升级 SpriteKit 图片不再正确显示

Since iOS9 upgrade SpriteKit images no longer display correctly

我刚刚更新到 iOS 9,却发现我的应用程序中的多张图片不再显示。由于某种原因,所有 SpriteKit 文本都是黄色的(之前是白色的)。

有问题的图像是 2D 精灵,在 Sprite Kit 中渲染,但在显示和不显示之间似乎没有太大的一致性。当然,没有背景显示,一些图像显示为白色框(虽然没有红色 X)。

其他的精灵是上下颠倒的,或者是在Y轴上翻转的,就好像坐标系颠倒了一样。粒子效果似乎不再显示。

我应该早点尝试测试版,因为这会破坏我的实时应用程序(我现在已将其删除)。但是有没有其他人经历过类似的事情?或者可能知道出了什么问题?在我看来,这主要是一个 SpriteKit 问题,但是,纹理图集中的所有精灵似乎都工作正常。

更新:

我意识到 所有 我的精灵不在纹理图集中。我在这里找到了一个论坛 post:https://forums.developer.apple.com/thread/13358 说 iOS9 代码中的每个资产名称都需要“.png”扩展名,或者您可以删除并重新添加所有资产在资产目录中。难以置信的!

遇到了类似的问题,显然解决方案是将所有图集添加到XCAssets,然后将目标设置为最新的iOS。但是你会失去与 iOS8 的向后兼容性。

我遇到过类似的问题并已发送错误报告。

粒子文件不再使用负值。颗粒,例如朝某个方向旅行现在只停留在一个地方。其中一些也以随机角度旋转。

现有场景文件中的纹理似​​乎已损坏。删除精灵节点,添加一个新的到场景文件并重新设置图像似乎有效。

我不明白这怎么会留给开发人员来解决。这是一个必须引起注意的大问题。

运行 iOS 8 上的文件工作正常,iOS 9 上的文件完全损坏。

我正在考虑在单独的 iOS 9 场景文件中重建场景文件。并在 运行 时间加载以前版本的旧版本,以至少修复纹理问题。

我在 iOS 9 下遇到的问题是从图集加载的精灵会显示为闪烁的乱码图像。我发现在不指定文件扩展名(在我的例子中是 .png)的情况下加载它们完全解决了这个问题。

正如我在 上发布的那样,大多数 iOS9 问题似乎已在 iOS9.2 beta 和 Xcode 7.2 beta 中得到解决。

迟到总比不到好:]