dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
使用此方法并按下iphone上的主页按钮时,延迟将不再有效或无效。相反,当回到我的应用程序时,关闭被认为是在“10秒”之后触发,只有在回到应用程序时才会发生。无论我是在1小时还是10秒后回到应用程序。
如何在后台延迟之后使触发的关闭工作?
答案 0 :(得分:0)
当你按下主页按钮时,你的应用程序将转换到后台状态,如果没有任何东西保持在该状态,它将转换到暂停状态,其中没有代码将运行。
让您的应用在后台运行的一种方法是使用后台任务。
let taskId = UIApplication.sharedApplication.beginBackgroundTask(..)
然后,您可以在代码运行后结束后台任务:
UIApplication.sharedApplication.endBackgroundTask(taskId)
这将允许应用程序返回暂停状态。