NSTimer在睡眠模式下继续

Pan*_*Dev 3 sleep nstimer

我有一个计时器应用程序,它使用NSTimer来跟踪分钟.即使设备进入睡眠模式,如何保持定时器运行?谢谢!

Gra*_*iln 6

唤醒通知后调整

预定的NSTimer实例将在睡眠期间暂停.您的应用程序需要响应NSWorkspace的唤醒通知并调整其计时器.

如果您不响应唤醒通知,您的计时器将恢复,但不考虑睡眠时间.

请参阅Apple的技术说明QA1340注册和取消注册睡眠和唤醒通知以获取相应的通知.

考虑这种情况:

  • 创建一个计时器,在5分钟内触发
  • 等1分钟
  • 让电脑睡一个小时
  • 唤醒电脑
  • 计时器在醒来时恢复
  • 定时器在醒来后4分钟触发

从计时器的角度来看,五分钟过去了.注意NSTimer使用的语言,它使用相对持续时间而不是绝对时间scheduledTimerWithTimeInterval:invocation:repeats:.