Я использую SceneKit с SwiftUI, используя следующее решение, предоставленное Мехди для этого вопроса:
SwiftUI - как добавить сцену Scenekit
Обычно при создании Проект SceneKit, реализующий методы рендерера, так же прост, как простое добавление следующего расширения в файл GameViewController и реализация каждого из методов рендерера:
extension GameViewController: SCNSceneRendererDelegate {
// 2
func renderer(renderer: SCNSceneRenderer, updateAtTime time: NSTimeInterval) {
// 3
doWhatever()
}
}
Но при использовании SwiftUI мы используем структуру вместо класс (см. выше связанный вопрос), поэтому мы не можем просто добавить расширение, потому что XCode жалуется:
Non-class type 'ScenekitView" cannot conform to class protocol 'NSObjectProtocol'
Non-class type 'ScenekitView' cannot conform to class protocol 'SCNSceneRendererDelegate'
Какое решение для этого?