【发布时间】:2017-04-02 19:21:15
【问题描述】:
我需要能够编写后台任务。如果你愿意的话,小“crons”会执行一些简单的代码。虽然不是 GCD 专家,但我想知道:
-
在应用完全退出之前,我预计后台任务在后台实际执行其职责的最长时间是多少
-
我可以“编程”多个任务并期望它们按时完成
-
它们是否仅在应用启动时才处于活动状态? (我敢打赌,与本地通知不同,本地通知并不真正关心应用程序是否在后台运行,所以只是要求确定)
-
如何跟踪它们并在需要时取消?
例如,我能够做这样的事情并执行任务。我在这里只用了 1 分钟就可以了。
let backgroundTaskIdentifier = UIApplication.shared.beginBackgroundTask(expirationHandler: nil) DispatchQueue.main.asyncAfter(wallDeadline: DispatchWallTime.now() + 60) { // Some action here UIApplication.shared.endBackgroundTask(backgroundTaskIdentifier) })
【问题讨论】:
-
标记为重复,我知道您有几个问题,但在发布多个问题之前,您应该单独搜索它们并排除重复项。当你这样做时,编辑你的问题并联系我,我将删除重复的标志。
标签: ios swift grand-central-dispatch