【问题标题】:Clearing temp download files after Network Failure using NSURLSession网络故障后使用 NSURLSession 清除临时下载文件
【发布时间】:2014-04-04 08:25:13
【问题描述】:

我正在使用NSURLSession 下载我的应用程序中的文件列表。我支持后台下载并且工作正常。但有时当应用程序处于后台时 WiFi 连接丢失,一些文件仍然存在在临时目录(com.apple.nsnetworkd)中并且没有被删除。所以当我下载一组新文件时,这些文件仍然保留在目录中。这种情况在 WiFi 故障时重复并且文件集不断累积。任何解决方法这个问题? 如果我尝试手动删除这些文件会有什么问题吗?

如果 WiFi 连接处于活动状态,则一切正常,tmp 目录会自动清除。

【问题讨论】:

  • @CouchDeveloper 您提到的问题是关于即使在 WiFi 故障后在后台恢复任务。我没有实施。我的问题是针对由于 wifi 故障而清除未完成的下载。
  • 您的问题遗漏了很多细节。 “支持后台下载”是什么意思?你得到什么错误?您是如何设置会话以及如何创建任务的?所以,请发布您的代码。
  • 我正在使用苹果的 NSUrlSession 示例代码。唯一的区别是我使用多个文件进行下载。现在我只是将应用程序带到后台并关闭了 WIFI。然后我把我带到前台,但一些 tmp 文件仍然在 Cache 文件夹中的 tmp 文件夹(com.apple.nsnetworkd)中。然后我在打开 WIFI 的情况下继续相同的场景。这次将其添加为新任务。旧文件仍然存在。有没有办法解决这个问题?
  • @CouchDeveloper 这是苹果示例代码的链接。developer.apple.com/library/ios/samplecode/…

标签: ios objective-c nsurlsession


【解决方案1】:

尝试恢复任务,或者在需要释放空间时仍然找到它来处理它,请不要担心

来自文档 可以找到临时文件的文件 URL。由于该文件是临时文件,因此您的委托方法必须打开该文件进行读取,或者在返回之前将其移动到应用沙箱容器目录中的永久位置。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 2018-11-13
    相关资源
    最近更新 更多