在我的ARKit应用程序中,我提出了一个模态窗口.当我关闭模态并返回到ARSCNView时,我发现由于此代码,会话暂停:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// Pause the view's session
sceneView.session.pause()
}
Run Code Online (Sandbox Code Playgroud)
当我关闭模态并返回到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)
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码永远不会恢复会话.屏幕在其读取的最后一张图像上完全冻结.有任何想法吗?
我将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)
}
}
Run Code Online (Sandbox Code Playgroud)