在我的 ARKit 应用程序中,我展示了一个模态窗口。当我关闭模式并返回 ARSCNView 时,我发现会话由于以下代码而暂停:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// Pause the view's session
sceneView.session.pause()
}
当我关闭模态并返回 ARKit 相机视图屏幕时,会触发以下代码:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Create a session configuration
let configuration = ARWorldTrackingSessionConfiguration()
// Run the view's session
sceneView.session.run(configuration)
}
但是此代码永远不会恢复会话。屏幕在它读取的最后一个图像上完全冻结。有任何想法吗?
我将 viewDidAppear 代码更新为以下内容。它仍然卡在相机屏幕上,图像冻结。
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)
}
}