如何解决在iOS 14中使用后关闭相机
使用iOS 14中的更新时,使用相机时,在顶角会出现一个绿点。我的应用程序有时将相机用于AR,但应用程序的其他方面则不需要。我想在不需要摄像头时使绿点消失,因此用户不认为我们在后台使用摄像头来做点什么,但是我似乎找不到找到以编程方式停止使用的方法相机。有办法吗?
解决方法
这听起来很奇怪–您正在使用AR应用,但不需要AR相机。我想您了解RGB传感器(以及IMU传感器)在ARSession运行期间必须处于活动状态。 ARSession基于来自RGB传感器的数据。因此,如果您将其关闭,则不会有任何好处。
首先,让我们讨论如何启动和停止AR跟踪。您可以使用标准ARKit过程开始运行ARSession:
let config = ARWorldTrackingConfiguration()
sceneView.session.run(config,options: someOptions)
...,您可以使用以下命令停止运行ARSession:
sceneView.session.pause()
停止ARSession之后,将消除繁重的CPU / GPU处理和大量的电池能耗。但是,如果会话已停止,则下次运行该会话时,必须从头开始跟踪。
解决方案
因此,在这种情况下,最好的解决方案是使用存储在ARWorldMap中的预先保存的场景数据。只需跟踪周围的环境,保存ARWorldMap,然后停止运行会话即可。然后做任何您想做的事(没有活动的ARSession),然后再次运行一个会话并只加载ARWorldMap数据。很简单。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。