iOS应用程序如何以循环方式(即每小时一次)在后台运行一个功能?

时间:2011-04-21 14:48:34

标签: iphone ios multitasking recurring recurring-events

在支持多任务处理的设备上,我希望我的iOS应用程序在应用程序未运行时在“后台”运行一个功能(即它已暂停)。我知道iOS支持在后台运行任务,但我不确定如何使该功能重复出现(并且仅当应用程序不在后台时)。什么是最好的方法?

我对在后台运行长期功能不感兴趣,而是简单更新应用程序徽章#的短期功能。但是,此数字是根据应用程序的数据动态生成的,需要针对核心数据运行查询。

为了进一步澄清,是的,我的核心数据不会改变,但徽章代表了一些应付款项。随着时间的推移,将会有更多项目到期,因此我想更新徽章以显示随时间推移而产生的正确项目。因此,如果现在有5个项目到期,但是半小时后还有3个项目到期,那么到下一个小时到来时,即使核心数据本身没有任何变化,也会有8个项目到期。 / p>

2 个答案:

答案 0 :(得分:4)

它不能,允许在后台运行的唯一任务是:音频,voip和位置。

答案 1 :(得分:1)

如果Core Data中存储的数据没有变化,为什么每小时都需要更新徽章数据?即。该应用未运行?

您可以使用推送通知(如之前发布的那样)执行此操作,也可以在应用关闭或后台处理时根据数据使用预定的本地通知。我认为这些是你唯一的选择。