如果应用程序转到后台,我尝试在SceneDelegate.swift中运行一个功能。
如果应用进入后台,计时器将停止。 如果已添加后台模式并选择后台处理。
但是计时器每次都停止!
func runtimerAction(){
Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in
print("Timer fired!")
}
}
func sceneDidEnterBackground(_ scene: UIScene) {
runtimerAction()
(UIApplication.shared.delegate as? AppDelegate)?.saveContext()
}
答案 0 :(得分:2)
根据Apple的限制,您的应用需要后台模式才能在后台执行任何操作,即使如此,您仍然无法在后台运行计时器。
如果您需要计数器来检查自X以来可以节省多少时间(IE:Date()
),然后对照已保存的时间来查看自应用最后进入后台以来已经经过了多少时间