Подтвердить что ты не робот

Ошибка Xcode: вызов -display не влияет

Всякий раз, когда я загружаю приложение SpriteKit, он регистрирует эту ошибку: <CAMetalLayer: 0x15f57fa70>: calling -display has no effect., и она не отображает много объектов. Я попытался воссоздать сцену и удалить мой код, оба из которых ничего не сделали. Некоторое время я думал, что это может быть ошибкой с новыми бета-версиями Xcode 7 и iOS 9, но теперь, когда я пробовал его с версией GM, и проблема остается, возможно, это не так.

4b9b3361

Ответ 1

Проверьте zPosition всех ваших SKNodes. Как оказалось, что-то изменилось в реализации SpriteKit, а объекты SKNode больше не всегда отображаются в том порядке, в котором они были добавлены в их родительские узлы. После того, как я убедился, что у всех моих SKNodes был правильный zPosition, все вернулось к нормальному.

Если это не поможет, проверьте этот пост на форумах разработчиков.

Ответ 2

Как кто-то предложил в этот поток разработчика Apple, добавив в ваше приложение следующую пару ключ/значение. Info.plist, похоже, решает эту проблему пока.

Info.plist, содержащий ключ/значение PrefersOpenGL. Xcode 7.0.1

Прежде чем вводить имя ключа выше, выберите "Редактор" > "Показывать исходные ключи и значения".

Как говорит "MacMacMac" на форуме, это не идеальное решение, так как использование Metal, по-видимому, лучше, чем использование OpenGL, но, по крайней мере, OpenGL работает.