У моего проекта есть несколько просмотров, прежде чем он вызовет ARview с проектом composer реальности. Я включил в него представление коучинга, используя демонстрационный код, который предоставляет Apple. Моя проблема в том Если я нажму кнопку go, чтобы вернуться из этого вида, и вызову ее снова, камера начнет мигать от секунды к секунде. Если я делаю это снова, щелчок увеличивается до тех пор, пока, если я сделаю это снова, программа вылетает. Как я могу сделать это представление совершенно новым, как в первый раз, когда я его загрузил? Я пытался удалить якорь из view.session. Пытался приостановить сеанс. Может ли кто-нибудь помочь мне с этим? Это мой код
import UIKit
import RealityKit
import ARKit
class ARHomeViewController: UIViewController {
@IBOutlet var arView: ARView!
@IBOutlet weak var coachingOverlay: ARCoachingOverlayView!
override func viewDidLoad()
{
super.viewDidLoad()
presentCoachingOverlay()
addScene()
}
/// Begins the coaching process that instructs the user's movement during
/// ARKit's session initialization.
func presentCoachingOverlay() {
coachingOverlay.session = arView.session
coachingOverlay.delegate = self
coachingOverlay.goal = .horizontalPlane
coachingOverlay.activatesAutomatically = false
self.coachingOverlay.setActive(true, animated: true)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// Prevent the screen from being dimmed to avoid interuppting the AR experience.
UIApplication.shared.isIdleTimerDisabled = true
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
arView?.session.pause()
}
func addScene()
{
guard let anchor = try? ExperienciaCasa.loadMenu() else { return }
anchor.generateCollisionShapes(recursive: true)
arView.scene.addAnchor(anchor)
}
}