【发布时间】:2017-02-18 18:39:23
【问题描述】:
我正在尝试做一个可以让计时器在后台运行的应用程序。
这是我的代码:
let taskManager = Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(self.scheduleNotification), userInfo: nil, repeats: true)
RunLoop.main.add(taskManager, forMode: RunLoopMode.commonModes)
上面的代码将执行一个调用本地通知的函数。 这在应用程序在前台时有效,我怎样才能让它在后台工作?
我尝试放置几行打印,我看到当我最小化(按下主页按钮)应用程序时,计时器停止,当我返回应用程序时,它恢复。
我希望计时器仍然在后台运行。有什么办法吗?
这就是我想要发生的事情:
运行应用程序 -> 等待 10 秒 -> 收到通知 -> 等待 10 秒 -> 收到通知 -> 然后返回等待并再次收到
在前台时会发生这种情况。但不在后台。请帮忙。
【问题讨论】: