我有一个在后台播放音频的音乐应用。我试图在一段时间后实现睡眠功能来停止音频。
我创建了一个计时器:
sleepTimer = Timer.scheduledTimer(timeInterval: sleepInterval, target: self, selector: #selector(stopMusic), userInfo: nil, repeats: false)
如果应用程序处于打开状态,计时器工作正常,但如果应用程序在后台运行,则会触发延迟。它的延迟时间有所不同,但最长可达原始间隔的两倍。
我尝试过使用DispatchSourceTimer和asyncAfter,他们都有同样的问题。
有什么想法吗?