Использование 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 }
тогда нет проблем.
Можно ли это как-то решить?