关于NSURLSessionDownloadTask的暂停和恢复的问题

今天封装啦一个网络下载工具,发现了一个问题,当我暂停一个任务的时候,等待一段时间之后,代理方法里面就会出现timeout 的错误,不知道怎么回事;(点击[task suspend]一个任务时,这个任务的网络请求不都暂停了,然后再点击[task resume]任务不都恢复啦(没有做缓存),但是我的情况是当我点击[task suspend]一个任务,然后等待一段时间后代理方法就会出现timeout的情况,点击[task resume]没有效果。这里怎么会出现timeout的错误呢,谢谢您的帮助)

阅读 3.6k
1 个回答

不使用suspend,这个方法只是将当前的downloadTask的下载进程挂起,当前任务的其他状态不暂停,比如,上述提到的suspend后,还是会收到超时提醒.

建议使用cancelByProducingResumeData, 取消下载任务

UI方面,呈现出暂停的状态,自定义用户对下载作出处理的状态枚举,用于区分completionHandler回调是不是 真cancel or 用户主动cancel 做不同的操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进