Использование SCNView.prepare() вызывает сбой при использовании SKScene

У меня есть SceneKit вид, который использует узлы с различными типами diffuse contents, Один из типов SKScene, Перед добавлением такого узла я запускаю prepare функция на другом OperationQueue чтобы подготовить узел без затвора, прежде чем он будет добавлен. Он отлично работает со всеми остальными узлами, но когда я использую SKScene как диффузный контент, то я получаю сбой с EXC_BAD_ACCESS на prepare функция.

private class AddNodeOperation: Operation {
    private let node:   SCNNode
    private let parent: SCNNode
    private let arView: AugmentedRealityViewWithSceneView

    init(node: SCNNode, parent: SCNNode, arView: AugmentedRealityViewWithSceneView) {
        self.node   = node
        self.parent = parent
        self.arView = arView
    }

    override func main() {
        arView.sceneView.prepare(node) { isCancelled }
        guard isCancelled == false else { return }
        parent.addChildNode(node)
    }
}

Последняя вещь в стеке операций

SceneKit`C3DSceneGetAnimationManager:

-> 0x19f013694 <+0>: ldr x0, [x0, # 0x48]

0x19f013698 <+4>: ret

Если я пропущу бег arView.sceneView.prepare(node) { isCancelled } тогда нет проблем.

Можно ли это как-то решить?

0 ответов

Другие вопросы по тегам