iOS后台进程类似于Android AlarmManager

我必须安排一个固定的任务,以固定的间隔定时器从互联网上检查一些信息。

在Android中,我使用了带有setRepeating的AlarmManager,但是我是iOS的新手。 有一些类似的API可以帮助我吗? 我需要一个应用程序被操作系统杀死的任务。

你知道一个关于它的教程吗?

AFAIK在iOS中,你不能实现这样的服务,它的主机应用程序被终止后仍然活着,也只有几种types的应用程序可以运行一些后台任务 – 见这里的文档。 您可以在服务器端执行您的任务,并在需要用户注意时发送推送通知 – 如果只有用户将允许您的应用程序接收推送通知。

在苹果公司的多任务指南上检查链接,将UIBackgroundModes中的voip标签添加到UIBackgroundModes中,并使用setKeepAliveTimeout:handler: UIApplication的方法,在应用程序进入hibernate状态时重新启动它。

注意:为此,您需要从苹果公司获得特殊许可,大多数苹果拒绝这样的应用程序。

另一个解决scheme:

您可以存储上次同步date,如果应用程序来自后台,同步date已超过您的时间间隔,则可以开始同步数据。

希望这个信息可以帮助你..

你需要iOS的本地通知

我发现UILocalNotification是最好的select。 不幸的是,你不能触发应用程序打开,但你可以得到一个通知,以设定的时间间隔显示。

https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/index.html#//apple_ref/doc/c_ref/UILocalNotification