Официально, прямо сейчас, вы не можете.
Однако есть обходной путь: вы делаете ARSCNView
одноразовым.
На выходеAR, первая пауза ARSession
.Затем освободите всю иерархию ARSCNView
и установите ARSCNView
на nil
для хорошей меры.Перестройте всю иерархию ARSCNView
и начинайте новый сеанс всякий раз, когда вам нужно вернуться к AR.
var ARview: ARSCNView?
func punchTheClown() {
ARView?.session.pause()
ARView?.removeFromSuperview()
ARView = nil
}
Другие не-AR области вашего приложения, как правило, находятся в отдельной иерархии представления на том же уровне.уровень как ваш ARSCNView
.Я с нетерпением жду, когда Apple предоставит фактическую функцию stopSession()
, поэтому мы все можем прекратить использовать punchTheClown.