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)
        }


    }

Respuestas a la pregunta(4)

Su respuesta a la pregunta