Sesión de ARKit en pausa y sin reanudar
En mi aplicación ARKit presento una ventana modal. Cuando cierro el modal y vuelvo a ARSCNView, descubro que la sesión está en pausa debido a este código:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// Pause the view's session
sceneView.session.pause()
}
Cuando cierro el modal y vuelvo a la pantalla de visualización de la cámara ARKit, se activa este código:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Create a session configuration
let configuration = ARWorldTrackingSessionConfiguration()
// Run the view's session
sceneView.session.run(configuration)
}
Pero este código nunca reanuda la sesión. La pantalla está completamente congelada en la última imagen que leyó. ¿Algunas ideas?
Actualizo el código viewDidAppear para que sea el siguiente. Todavía está atascado en la pantalla de la cámara con la imagen congelada.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Create a session configuration
let configuration = ARWorldTrackingSessionConfiguration()
sceneView.session.delegate = self
if self.isPaused {
sceneView.session.run(sceneView.session.configuration!)
} else {
// Run the view's session
sceneView.session.run(configuration)
}
}