iOS后台进程类似于Android AlarmManager

时间:2013-01-15 12:02:10

标签: ios background task

我要安排一个固定的任务,以固定的间隔计时器检查来自互联网的一些信息。

在Android中,我使用带有setRepeating的AlarmManager,但我是iOS的新手。 有一些类似的api帮助我吗?当应用程序被操作系统杀死时,我需要一个能够存活的任务。

你知道关于它的教程吗?

5 个答案:

答案 0 :(得分:3)

iOS中的AFAIK你无法实现这样的服务,它会在主机应用程序被杀之后保持活力,也只有几种类型的应用程序可以运行一些后台任务 - 参见文档here。您可以在服务器端执行任务,并在需要用户注意时发送推送通知 - 如果只有用户允许您的应用接收推送通知。

答案 1 :(得分:3)

检查Apple's Multitasking Guide上的链接,该链接将voip标记添加到Info.plist中的UIBackgroundModes,并在应用程序进入休眠状态时使用setKeepAliveTimeout:handler: UIApplication方法重新启动它。 / p>

注意:为此,您需要获得Apple的特殊权限,而Apple主要拒绝此类应用。

另一种解决方案: -

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

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

答案 2 :(得分:1)

您需要iOS的本地通知

答案 3 :(得分:0)

我发现UILocalNotification是最好的选择。不幸的是,您无法触发应用程序打开,但您可以收到通知,以设置的间隔显示。

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

答案 4 :(得分:0)

您可以使用 NSBackgroundActivityScheduler 定期拉东西。