Код: Выделить всё
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