在应用程序后台运行之前,ARKit ARSession有时不会暂停

时间:2018-07-25 23:28:29

标签: ios swift arkit

每次通过applicationWillResignActive上的session.pause()使我的应用程序后台运行时,我都会暂停ARKit。

我最近注意到用户偶尔会消耗一些高背景电量,现在偶尔会看到这种行为,当应用程序处于后台时,我会在控制台中收到很多这样的消息:

2018-07-25 16:18:57.691271-0700 Neon [6918:1740969]由于执行期间出错,命令缓冲区的执行被中止。权限不足(无法从后台提交GPU工作)(IOAF代码6) 2018-07-25 16:18:57.691374-0700 Neon [6918:1740969]由于执行期间发生错误,命令缓冲区的执行被中止。权限不足(无法从后台提交GPU工作)(IOAF代码6) 2018-07-25 16:18:57.691425-0700 Neon [6918:1740969]由于执行期间发生错误,命令缓冲区的执行被中止。权限不足(无法从后台提交GPU工作)(IOAF代码6) 2018-07-25 16:18:57.692061-0700 Neon [6918:1740674]由于执行期间出错,命令缓冲区的执行被中止。权限不足(无法从后台提交GPU工作)(IOAF代码6) 2018-07-25 16:18:57.692100-0700 Neon [6918:1740674]由于执行期间发生错误,命令缓冲区的执行被中止。权限不足(无法从后台提交GPU工作)(IOAF代码6)

当我查看能耗和CPU使用率时,它们不在图表之列。但是,其他时候,我没有收到这些消息,并且CPU /能耗最低。

我的想法是,在后台启动应用程序之前,暂停尚未完成。我更新了我的应用程序,以使用backgroundTask暂停ARSession对象,但仍然观察到偶尔的行为。

关于可能发生的事情以及如何解决它的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

因此,这似乎是ARKit仍在初始化时将应用程序后台化的一种情况,因此暂停没有影响。此外,完成初始化后,它将在后台运行ARKit,并生成有关无法在后台运行并耗尽电池电量的GPU错误。