У меня есть UIButton, который пользователь нажимает и переносит их в контроллер представления, который имеет свое корневое представление как ARSCNView, однако раньше это работало отлично и было действительно быстро (~ 1 с), но теперь это занимает несколько секунд ( ~ 8с) для контроллера, чтобы показать и запустить сеанс ARFaceTrackingConfiguration.
TLDR; Этот код запускает сеанс в течение ~ 1 с, но в Swift 5 он запускает его в ~ 8 с.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
arSceneView.session.run(ARFaceTrackingConfiguration(), options: [.resetTracking, .removeExistingAnchors])
}
Я также получаю предупреждение о том, что интерфейс пользователя должен вызываться из основного потока.
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 31934, TID: 5427839, Thread name: com.apple.CoreMotion.MotionThread, Queue name: com.apple.root.default-qos.overcommit, QoS: 0