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