在iOS中执行重复任务的最佳方法是什么?

时间:2012-01-03 09:31:58

标签: iphone objective-c ios4

所以我有一个简单的个人理财应用,需要每月执行经常性费用(自动,无需用户操作)。最好的方法是什么?

EventKit似乎不是最好的工具,而NSTimer限制在50-100毫秒。

谢谢!

3 个答案:

答案 0 :(得分:1)

Apple允许仅为极少数目的重复执行后台任务:音频,位置更新,voip,报亭内容,外部附件。

您可以查看iOS programming guide中的相关部分。

我认为很难将你的功能与其中一种背景模式相匹配。

答案 1 :(得分:0)

最好的方法是使用UILocalNotification对象,可以使用您自己的重复间隔在特定日期设置。

答案 2 :(得分:0)

为什么不能只检查当前日期/时间并在应用程序的不同位置运行所有待处理任务,例如显示新视图或调用-applicationSignificantTimeChange:时?你真的需要在后台以毫秒到秒的精度处理你的任务吗?

我的意思是,您定期(通过计时器或仅通过用户操作)检查您的重复任务是否需要执行,然后运行并记录它们。

在我的职业生涯中,我曾在一个货币跟踪应用程序上工作,我们已经以这种方式实施了重复性任务。它简单,无痛,没有用户抱怨。