Таймер работает с задержкой, когда приложение находится в фоновом режимеIOS

Программируем под IOS
Anonymous
Таймер работает с задержкой, когда приложение находится в фоновом режиме

Сообщение Anonymous »

Я создал таймер, и он работает нормально, когда приложение активно и находится на переднем плане. Вот мой код:

Код: Выделить всё

override func viewDidLoad() {
super.viewDidLoad()

NotificationCenter.default.addObserver(self, selector: #selector(reinstateBackgroundTask), name: NSNotification.Name.UIApplicationDidBecomeActive, object: nil)

}
func createTimer (){
gameTimer = Timer.scheduledTimer(timeInterval: 0.001, target: self, selector: #selector(self.runTimedCode), userInfo: nil, repeats: true)
RunLoop.current.add(gameTimer, forMode: .commonModes)
registerBackgroundTask()

}

func registerBackgroundTask() {
backgroundTask = UIApplication.shared.beginBackgroundTask { [weak self] in
self?.endBackgroundTask()
}
assert(backgroundTask != UIBackgroundTaskInvalid)
}

func endBackgroundTask() {
print("Background task ended.")
UIApplication.shared.endBackgroundTask(backgroundTask)
backgroundTask = UIBackgroundTaskInvalid
}
Но мой таймер работает с задержкой, когда приложение находится в фоновом режиме. Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/452 ... background

Вернуться в «IOS»