AR プロジェクトをセットアップしました。すべてが機能しているように見えますが、View Controller を提示して却下すると、AR セッションを続行できません。
だから、Xcode のサンプル プロジェクトが示すような AR セッションのセットアップがあります。ものすごく単純。次に、ユーザーが画面上のボタンをタップしたときにこれを行います。
let myVC = MyVC()
present(myVC, animated: true) {
}
MyCV が画面に表示され、オプションを選択すると、画面が閉じます。
dismiss(animated: true) { }
MyVC が閉じられた後、ビュー コントローラーで ARSession がフリーズしたように見えます。
そのため、もう一度実行するように指示する必要があるのではないかと考えたので、補完に次の行を追加しました。
dismiss(animated: true) {
self.sceneView.session.run(ARWorldTrackingSessionConfiguration())
}
何もない。
次に、デリゲート呼び出しをチェックして、エラーが発生していないことを確認します。
func session(_ session: ARSession, didFailWithError error: Error) {
// Present an error message to the user
}
func sessionWasInterrupted(_ session: ARSession) {
// Inform the user that the session has been interrupted, for example, by presenting an overlay
}
func sessionInterruptionEnded(_ session: ARSession) {
// Reset tracking and/or remove existing anchors if consistent tracking is required
}
そのプロセス中に呼び出されることはありません。
簡単な ViewController をプレキャストして閉じると、AR セッションがフリーズしたように見えるのはなぜですか?