gpt4 book ai didi

swift - 应用程序处于后台后未调用 URLSessionDownloadDelegate 方法 didWriteData

转载 作者:可可西里 更新时间:2023-11-01 00:54:25 25 4
gpt4 key购买 nike

在我的应用程序中,我想下载大文件。因此,我想向用户显示下载进度。为此,我实现了 URLSessionDownloadDelegate

在应用程序进入后台之前,这非常有用。当用户随后重新打开应用程序时,不会调用 didWriteData。然而 didFinishDownloadingTo 仍然被调用。因此,这不是委托(delegate)本身的问题。

其他一些开发人员在 https://forums.developer.apple.com/message/229215#229215 中报告了类似的问题.

但是,到目前为止,似乎还没有针对此问题的解决方案或变通方法。这里有人找到解决方法吗?如果不是,我可以使用什么来代替 SessionDownloadTask

最佳答案

这似乎是 iOS12 中的一个错误。作为解决方法,我会在应用程序再次激活后恢复所有下载任务。像这样:

private(set) var session: URLSession?

func applicationDidBecomeActive(_ application: UIApplication) {
session?.getAllTasks(completionHandler: { tasks in
for task in tasks {
task.resume()
}
})
}

关于swift - 应用程序处于后台后未调用 URLSessionDownloadDelegate 方法 didWriteData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53225331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com