是否可能发生这种情况:
我的应用程序进入后台,我希望NSTimer能够在
中运行- (void)applicationDidEnterBackground:(UIApplication *)application
方法,每两秒左右。我知道如何启动计时器,但我想知道的是我是否可以每2秒运行一次代码或者我在后台选择什么?或者是一旦应用程序进入后台代码就无法运行。我知道如果应用程序保持打开但最小化,你可以运行代码,因为它们继续在后台运行。
答案 0 :(得分:2)
你怀疑它是否正确。进入后台的应用程序无法运行。因此,您无法在后台运行应用程序时执行代码。我建议你浏览一下Apple的文档Executing Code in the Background。它始于,
“大多数进入后台状态的应用程序很快就会转移到挂起状态。在此状态下,应用程序不会执行任何代码,并且可能随时从内存中删除。”
但是服务 audio,location和voip 可以在后台运行。对于这些服务,后台执行必须由使用它们的应用程序预先声明。
答案 1 :(得分:0)
如果您将应用程序移至后台并将应用程序声明为音频,则它将运行。