Apple Watch App上的命令缓冲区的执行由于执行过程中的错误而中止?

问题描述 投票:0回答:1

2020-01-18 18:03:02.316685-0500 Watch Extension[529:813076] Execution of the command buffer was aborted due to an error during execution. Insufficient Permission (to submit GPU work from background) (IOAF code 6)

我在测试3个HealthKit应用程序时开始反复打印此控制台消息,但我不知道它与什么相关,并且以前的SO问题仅与iPhone有关。具体来说,当我模拟锻炼运动(即慢跑)时,似乎可以触发它。您知道是什么原因导致手表上出现此消息吗?

ios watchkit apple-watch healthkit
1个回答
0
投票

HealthKit必须正在使用Metal,否则您的应用程序中正在使用。金属不允许后台处理。

要摆脱警告,您将需要暂停或暂停任何使用Metal的进程。

在AppDelegate.swift文件中,您可以实现以下两种方法:

func applicationWillResignActive(_ application: UIApplication) {
    //Pause or suspend any operations using Metal
}

func applicationDidBecomeActive(_ application: UIApplication) {
    //Resume or start operations using Metal
}

进入背景/前景时启动/停止操作的另一种方法是使用通知。如果您喜欢这种模式,我将发布示例。

请注意,您看到的是警告,表明在后台未进行金属处理。如果您的应用程序按预期运行,则可以忽略该警告。

© www.soinside.com 2019 - 2024. All rights reserved.