ARKit(或ARSession)可以继续在后台运行吗?

时间:2019-02-14 14:10:35

标签: ios swift augmented-reality wkwebview arkit

我的问题是-ARSession能否在后台运行-基本上我需要运行ARKit并需要所有每帧信息和相机中心信息,但我不想在屏幕上渲染相机供稿-就像在ARSCNView

不在后台线程或进程中专用。

基本上,我只想使用ARKit中的跟踪信息(图像+摄像头位置+摄像头Euler角度等),并且不想在AR本身或摄像头提要中渲染任何内容。

在每个人都跳上我之前-我知道Apple在后台限制了GPU的处理-例如:

  

由于执行期间发生错误,命令缓冲区的执行被中止   执行。权限不足(无法通过以下方式提交GPU工作:   背景)(IOAF代码6)

但是应该有一种方法可以使用ARKitARSession而不使用相机供稿,而仅使用跟踪信息,对吧?

1 个答案:

答案 0 :(得分:0)

一旦ARSCNSceneARSKScene被完全覆盖,AR跟踪停止,就无法做您想做的事情。有两个原因。

首先,ARKit用于增强现实,而不是跟踪操作。如果您没有在屏幕上显示现实(相机供稿),那么您将无法增强现实。

第二个也是最重要的一点,Apple关心用户的隐私,如果您可以在不将Feed显示在屏幕上的情况下访问相机,则用户将无法知道相机的使用时间。这将使应用程序在用户不知情的情况下监视用户的可能性变为可能。苹果绝对不会这样做。曾经。

此外,AR重击电池,因此只有在实际使用时,AR才能运行。

根据您的评论,似乎您实际上根本不想创建AR体验,因此可能会有更好的方法来通过标题信息和加速度计来获得所需的信息。