У меня был такой тип проблемы, и я просто решил ее.Это происходит, когда вы слишком много работаете с оборудованием, а графический процессор не может обработать его так быстро.
Чтобы избежать сбоев, вы можете сделать следующее: В Xcode: 1.Command + Option + R 2. Вкладка «Опции»3. Установите для проверки правильности API Metal значение
Это должно предотвратить сбой приложения, но проблема все еще существует.
Далее вы можете выполнить поиск по коду, чтобы точно определить, в чем именно проблема.Я сделал так:
Прокомментируйте части вашего кода и запустите приложение, чтобы увидеть, есть ли ошибка, например:
/* //Put this at the beginning
CODE
.
.
.
CODE
*/ //This at the end
Если ошибка все еще существует, раскомментируйте эту частькода и прокомментируйте следующий, делайте это, пока у вас больше не возникнет проблема.Затем вы продолжите комментировать свой код, но небольшими частями внутри проблемной части, пока не найдете, что именно вызывает его.Это происходит, когда вы
addChild(This one needs hard GPU processing)
В моем случае, когда я добавил LightNode.Мое решение состояло в том, чтобы создать SKAction:
let action = SKAction.wait(forDuration: 1) //Try different time durations
scene.run(action, completion:
{
code that is causing the problem
})
Таким образом, вы разделяете необходимую вычислительную мощность и даете перерыв аппаратному обеспечению.
Надеюсь, это поможет!