如何让nstimer在后台运行?

时间:2014-05-10 07:44:04

标签: ios7 xcode5

我正在使用波纹管代码,但在后台使用计时器终止。但我想继续在后台运行我的语言 -

          NSTimeInterval time = 5;
          self.locationUpdateTimer =
          [NSTimer scheduledTimerWithTimeInterval:time
                                           target:self
                                         selector:@selector(updateLocation1)
                                         userInfo:nil
                                          repeats:NO];

1 个答案:

答案 0 :(得分:0)

您可以在应用在后台and here is Apple documentation that explains how to do that时获取位置信息。你可能也想使用一种叫做"the Significant-Change Location Service"的东西。

当更改发生时,您将调用CoreLocation方法"location manager: didUpdateLocations:"。示例代码可以在“重大更改位置服务”部分中看到。

执行上述操作要比尝试实现在应用程序处于后台运行时运行的计时器(并且可能完全暂停,因为许多应用程序往往是这样)要容易得多。

如果您没有获得位置更新,则表示您的手机未移动。 : - )