在 iOS 中完成后调度一个新的后台进程任务是否可以接受

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

我正在为我的应用程序执行后台进程。在我的研究过程中,我了解到无法保证它会执行(基于系统模式,如电池保护程序、内存管理等)。但如果它正在执行,我可以在任务完成中安排一个新的后台进程吗?这是一个不好的做法吗?我遵循这篇文章文章链接来实现这一目标。在我的测试过程中,后台处理任务在3小时内执行了两次。但是,我的领导不允许我在任务完成后安排新的后台处理。 iOS 是否允许我们依次安排一个新的后台进程? 另外,如果我给出

task.setTaskCompleted(success: false)
,后台进程是否会再次启动而不安排新的后台进程?

感谢您的帮助。

ios swift background-process swift5
1个回答
0
投票

BGAppRefreshTask
BGProcessingTask
一次性,即它们每个计划请求仅触发一次。

如果您想再次运行该任务,您需要重新安排它,无论您是报告

true
还是
false
setTaskCompleted
:

您可以重新安排不成功的所需任务

将任务的下一次执行安排在后台任务完成时是有效的,或者您可以将其安排在其他时间(例如,下次您的应用程序进入前台时)。

对于给定的任务标识符,您只能有一个待处理的计划,如果您在计划待处理的情况下请求新的计划,则待处理的请求将被替换。因此,在当前任务完成后安排下一个任务可能是一种巧妙的处理方法。

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