2017-06-15 20 views
1

我想要创建一个后台任务来执行一些动作,但不要在应用程序被终止时终止该任务(例如,我双击主页按钮并从该“列表”中删除应用程序)。如何在iOS(Swift)上创建后台进程?

+3

简答题;你不能。有些特定的背景模式可用于诸如位置和音频/视频之类的事物。这些在iOS应用程序编程指南中列出。您可以安排本地通知在特定时间显示。 – Paulw11

+0

Paulw11 100%正确。苹果的立场是尽量不给开发者足够的余地来滥用用户的信任;如果有时这意味着妨碍合法用例,那就这样吧。收益大于损失。一百万种恶意或恶意开发者可能会滥用任意后台进程的方式几乎立即发生,因此Apple会将其允许的内容列入白名单并为您实施。 – Tommy

+1

如果你解释你为什么要这样做,也许它会有所帮助。可能有其他方法可以实现你的目标。 –

回答

0

在iOS中杀死应用后,定时器不运行。杀死应用程序会导致操作系统杀死所有应用程序定时器,运行循环和后台线程。您的应用程序的所有可执行代码都可能从内存中解除分配,因此甚至无法运行。

您可以安排本地(或远程)通知,但不会在用户没有交互的情况下在您的应用中执行任何代码。如果设备上运行的是IFTTT应用程序,并且未被杀死,则可能会定期启动您的应用程序。