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有关。具体来说,当我模拟锻炼运动(即慢跑)时,似乎可以触发它。您知道是什么原因导致手表上出现此消息吗?
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
}
进入背景/前景时启动/停止操作的另一种方法是使用通知。如果您喜欢这种模式,我将发布示例。
请注意,您看到的是警告,表明在后台未进行金属处理。如果您的应用程序按预期运行,则可以忽略该警告。