UIBackgroundTaskIdentifier 进入后台后结束任务再挂起APP
2019-01-15 14:20 法子 阅读(2354) 评论(0) 编辑 收藏 举报App进入后台,(绝大部分情况下)会暂停执行代码,进入挂起状态。
有时候,某个任务进入后台后,我们希望它完成任务后再挂起。可以用UIBackgroundTaskIdentifier标记该任务,任务结束后再结束标记。标记之后的任务,在执行的时候,即使App进入后台,也会执行完成(大约有不超过10分钟的时间)后再挂起App。
var counterTask: UIBackgroundTaskIdentifier? //开始标记为支持后台执行 counterTask = UIApplication.shared.beginBackgroundTask(expirationHandler: { () -> Void in // 超过10分钟后,会进入到这里 }) //长时间执行任务,(进入后台后,大约有10分钟的执行时间,超过之后程序会挂起) //do something //结束标记 UIApplication.shared.endBackgroundTask(counterTask)