NSTimer在后台模式下工作 - 但是它不应该工作吗?

时间:2014-07-16 03:24:16

标签: ios core-location

我已选择在我正在处理的应用中进行后台位置更新。

在我的LocationManager课程中,我有一个如下所示的方法:

- (void)beginUpdateTimer
{
    [self.updateTimer invalidate];
    self.updateTimer = [NSTimer timerWithTimeInterval:ForceUpdateDuration
                                               target:self
                                             selector:@selector(updateWithLastKnownLocation)
                                             userInfo:nil
                                              repeats:NO];

    NSRunLoop *runloop = [NSRunLoop currentRunLoop];
    [runloop addTimer:_updateTimer forMode:NSRunLoopCommonModes];
}

方法-updateWithLastKnownLocation可能再次调用beginUpdateTimer。

在测试我的应用时,我发现只要我启用了后台位置更新,定时器会继续触发应用移动到后台。不应该发生这种情况吗?我可以依靠这个吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,如果计时器在您进入后台时正在运行,您可以依赖它。