我正在尝试制作一个可以使计时器在后台运行的应用程序。
这是我的代码:
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 秒 -> 收到通知 -> 返回等待并再次收到
在前台时会发生这种情况。但不在后台。请帮忙。
您可以转到“功能”并打开后台模式和活动音频。 AirPlay,还有图片和图片。
真的行 。您不需要设置 DispatchQueue 。
你可以使用定时器。
Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { (t) in
print("time")
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)