Swift URLSessionDownloadDelegate方法didWriteData在应用程序处于后台后未调用
在我的应用程序中,我想下载大文件。因此,我希望向用户显示下载进度。为此,我实现了Swift URLSessionDownloadDelegate方法didWriteData在应用程序处于后台后未调用,swift,background,nsurlsession,Swift,Background,Nsurlsession,在我的应用程序中,我想下载大文件。因此,我希望向用户显示下载进度。为此,我实现了URLSessionDownloadDelegate 在应用程序进入后台之前,这一切都非常有效。当用户重新打开应用程序时,不会调用didWriteData。但是,didfishdownloadingto仍被调用。因此,委托本身没有问题 其他一些开发人员在中报告了类似的问题 然而,到目前为止,似乎没有解决这个问题的办法或变通办法。这里有人找到解决办法了吗? 如果没有,我可以用什么来代替SessionDownloadTa
URLSessionDownloadDelegate
在应用程序进入后台之前,这一切都非常有效。当用户重新打开应用程序时,不会调用didWriteData。但是,didfishdownloadingto
仍被调用。因此,委托本身没有问题
其他一些开发人员在中报告了类似的问题
然而,到目前为止,似乎没有解决这个问题的办法或变通办法。这里有人找到解决办法了吗?
如果没有,我可以用什么来代替
SessionDownloadTask
?这似乎是iOS12中的一个bug。作为一种解决方法,一旦应用程序再次激活,我将恢复所有下载任务。像这样:
private(set) var session: URLSession?
func applicationDidBecomeActive(_ application: UIApplication) {
session?.getAllTasks(completionHandler: { tasks in
for task in tasks {
task.resume()
}
})
}
在bugreport.apple.com上提交一个bug。我相信这是最近一些主要iOS版本中的一个已知问题。