应用程序在后台运行时在计时器中运行代码

时间:2011-10-07 08:48:54

标签: iphone objective-c nstimer

是否可能发生这种情况:

我的应用程序进入后台,我希望NSTimer能够在

中运行
- (void)applicationDidEnterBackground:(UIApplication *)application

方法,每两秒左右。我知道如何启动计时器,但我想知道的是我是否可以每2秒运行一次代码或者我在后台选择什么?或者是一旦应用程序进入后台代码就无法运行。我知道如果应用程序保持打开但最小化,你可以运行代码,因为它们继续在后台运行。

2 个答案:

答案 0 :(得分:2)

你怀疑它是否正确。进入后台的应用程序无法运行。因此,您无法在后台运行应用程序时执行代码。我建议你浏览一下Apple的文档Executing Code in the Background。它始于,

  

“大多数进入后台状态的应用程序很快就会转移到挂起状态。在此状态下,应用程序不会执行任何代码,并且可能随时从内存中删除。”

但是服务 audio,location和voip 可以在后台运行。对于这些服务,后台执行必须由使用它们的应用程序预先声明。

答案 1 :(得分:0)

如果您将应用程序移至后台并将应用程序声明为音频,则它将运行。

相关问题