在后台模式下开始下载数据

时间:2012-02-29 11:41:14

标签: iphone xcode background

当我的iphone应用程序处于后台模式时,我需要执行以下操作。

1.跑一个时钟。

2.每隔15分钟与服务器通信,以获得服务器时间和另一个值。

3.需要开始以后台模式下载数据。

我经常搜索这些是否可能。请确认这些。

我正在开发一个涉及票务预订系统的iPhone应用程序。我将我的应用程序注册为基于位置的,因为它正在使用用户在后台拍摄的位置。

我的问题是我需要在后台模式下在我的应用程序中运行内部时钟。我需要在核心位置委托方法中编写内部时钟的代码,这样内部时钟也将与位置服务一起运行。我的应用会被拒绝吗?这样做有什么不对吗?

我需要在我的应用中获得正确的时间,以便我运行此内部时钟。我可以使用NSDate,但这将返回设备时间。任何人都可以更改设备时间。因此,一旦有人唠叨,错误的时间将影响应用程序的顺利运行。有些人建议在没有运行内部时钟的情况下获得正确的时间吗?

2 个答案:

答案 0 :(得分:2)

我想你想要在你的应用程序没有在前台运行的情况下这样做 - 如果你不使用像播放空音频文件和假装成音乐播放器之类的技巧那么这是不可能的。

在iOS中,除了某些特定任务(如VOIP或音乐播放)外,您只能在应用程序正在前台运行时执行代码

如果您想在应用程序在前台运行时执行此操作,只需使用 NSTimer 和后台进程进行加载,就像建议的那样。但是你也应该在1分钟后阻止iPhone进入休眠模式,否则当用户在15分钟内没有主动使用应用程序时它将无法工作......

答案 1 :(得分:1)

这是可能的,你需要做的是,

1]运行后台线程,在其中设置NSTimer 15分钟。

2]设置重复:YES每隔15分钟调用一次。

3]然后开始下载你的需求!

如果我像你的情况一样,我会这样做的!