【发布时间】:2021-05-06 21:53:00
【问题描述】:
我的 iPhone 应用程序在销毁 ARSCNView 后尝试再次实例化它时遇到问题。
在我的 ViewController 中,我以编程方式创建 ARSCNView 用于动作捕捉交互:
func addARSceneView() {
arSceneView = ARSCNView(frame: self.view.frame)
arSceneView.loops = true
arSceneView.session.delegate = self
self.view.addSubview(arSceneView)
arSceneView.session.run(ARBodyTrackingConfiguration())
}
当用户离开应用程序的这一部分时,我会这样拆掉它:
func removeARSceneView() {
arSceneView.session.pause()
arSceneView.pause(self)
arSceneView.session.delegate = nil
arSceneView.removeFromSuperview()
arSceneView = nil
}
后来,当我尝试使用上面的第一个函数第二次实例化 ARSCNView 时,它在构造函数中出现 EXC_BAD_ACCESS 崩溃:
我还尝试使用 xib 中包含 ARSCNView 的视图,但同样的问题发生在该视图的 init(coder) 函数中。
我没有发现这个问题,我猜通常开发人员只创建一次 ARSCNView。
【问题讨论】:
标签: ios arkit arscnview scnview