Sessão do ARKit pausada e não continuando
No meu aplicativo ARKit, estou apresentando uma janela modal. Quando fecho o modal e volto ao ARSCNView, descubro que a sessão está em pausa devido a este código:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// Pause the view's session
sceneView.session.pause()
}
Quando fecho o modal e volto à tela de visualização da câmera ARKit, esse código é acionado:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Create a session configuration
let configuration = ARWorldTrackingSessionConfiguration()
// Run the view's session
sceneView.session.run(configuration)
}
Mas esse código nunca retoma a sessão. A tela está completamente congelada na última imagem que leu. Alguma ideia?
Eu atualizo o código viewDidAppear para o seguinte. Ainda está preso na tela da câmera com a imagem 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)
}
}