如果应用程序进入后台,如何运行计时器?

时间:2019-12-30 17:58:17

标签: ios swift nstimer

如果应用程序转到后台,我尝试在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()
}

1 个答案:

答案 0 :(得分:2)

根据Apple的限制,您的应用需要后台模式才能在后台执行任何操作,即使如此,您仍然无法在后台运行计时器。

如果您需要计数器来检查自X以来可以节省多少时间(IE:Date()),然后对照已保存的时间来查看自应用最后进入后台以来已经经过了多少时间