Xcode错误:调用-display没有效果

每当我加载我的SpriteKit应用程序,它会logging此错误: <CAMetalLayer: 0x15f57fa70>: calling -display has no effect. ,并没有正确显示许多对象。 我已经尝试重新创build场景并删除我的代码,两者都没有做任何事情。 有一段时间,我认为这可能是一个新的Xcode 7和iOS 9testing版的错误,但现在,我已经尝试了两者的GM版本,问题依然存在,可能并非如此。

检查所有SKNodes 。 事实certificate,在SpriteKit的实现中发生了一些变化,并且SKNode对象不再总是按照添加到其父节点的顺序呈现。 当我确定所有的SKNodes都有正确的zPosition ,一切恢复正常。

如果这没有帮助,请从开发论坛检查这篇文章 。

正如有人在这个苹果开发者线程中build议的,将以下键/值对添加到您的应用的Info.plist似乎现在解决了这个问题。

包含PrefersOpenGL键/值的Info.plist。 Xcode 7.0.1

确保在input上面的密钥名称之前select编辑器>显示原始密钥和值。

正如“MacMacMac”在论坛post中所说,这不是一个理想的解决scheme,因为使用Metal大概比使用OpenGL好,但至lessOpenGL的作品。