URLSessionDownloadTask:取消写入数据

URLSessionDownloadTask: Cancel writing data

我正在开发一个应用程序,它需要几分钟才能下载一个大文件并将其写入磁盘。客户已通知我他们希望能够随时取消。我所做的是封装一个全局 URLSession 来处理下载任务。在用户输入之后,我将在会话中调用 invalidateAndCancel()。我发现方法

urlSession(_ session: URLSession, 
        downloadTask: URLSessionDownloadTask,    
        didWriteData bytesWritten: Int64, 
   totalBytesWritten: Int64, 
   totalBytesExpectedToWrite: Int64) 

即使在会话无效和取消后也不会停止调用。

问题

如何让这个方法停止执行?

试试上面的 link 我认为它比我能更好地解释它。还有Another Reference