在 iOS 上是否有运行后台任务的方法?比如定期检查手机的某些系统状况并在小部件上报告?
另外,我发现如果iPhone关机,那么当手机重启时,那些后台任务就不能再执行了。
最佳答案
简短的回答:不。 长答案更微妙,但无论如何你都不应该这样做。您可以安排您的应用程序进行后台刷新,但这是不可靠的(应用程序不会以恒定的间隔运行),并且如果用户在任务切换器中滑动应用程序,该应用程序将根本不会在后台运行。另一种 hacky 方法是让服务器发送静默推送以更可靠地唤醒应用程序。然而这仍然不能保证成功;如果用户在任务切换器中滑动应用,您的应用将不会运行。
在任何一种情况下,您都无法从您的应用程序触发小部件更新。小部件生命周期由操作系统管理。相反,实现 widgetPerformUpdate(completionHandler:)
并在那里执行您的小部件更新。但是,如上所述,这不是周期性操作。
关于ios - iOS 上的周期性后台任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40160088/