错误域=NSPOSIXErrorDomain 代码=2“没有那个文件或目录”

问题描述

我在尝试使用 URLSessionURLSessionConfiguration.background(withIdentifier: Bundle.main.bundleIdentifier!)

下载文件时遇到奇怪的问题

使用带有后台配置的 URLSession.downloadTask 开始下载文件

无法在 iOS iOS 12.* 版本中正常下载并在较新版本上正常下载。

在 iOS 12.* 版本中,我发现了一个奇怪的问题,即从 Xcode 或 AppStore 下载文件全新安装后出现以下错误

2021-02-16 10:25:44.448330+0530 Brain Wellness App[512:141574] Task <546389FE-6503-4F43-A01C-C174A09C2892>.<45> load Failed with error Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory" UserInfo={NSErrorFailingURLStringKey=***,NSErrorFailingURLKey=***,_NSURLErrorRelatedURLSessionTaskErrorKey=(
"BackgroundDownloadTask <546389FE-6503-4F43-A01C-C174A09C2892>.<45>","LocalDownloadTask <546389FE-6503-4F43-A01C-C174A09C2892>.<45>"
),_NSURLErrorFailingURLSessionTaskErrorKey=BackgroundDownloadTask <546389FE-6503-4F43-A01C-C174A09C2892>.<45>} [2]
Error is Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory" UserInfo={NSErrorFailingURLStringKey=***,_NSURLErrorFailingURLSessionTaskErrorKey=BackgroundDownloadTask <546389FE-6503-4F43-A01C-C174A09C2892>.<45>}

但是在从主屏幕文件下载关闭并重新启动应用程序后,它可以正常工作。

此外,大约 1 个月前,后台下载功能在 iOS 12.* 版本中正常运行。我在几天前的 iOS 12.* 版本中遇到了上述错误,它运行良好。

有没有人更早遇到过这个问题并找到了解决这个问题的方法

如果是,请帮我解决这个问题。

解决方法

此错误可能是由后台运行的下载任务引起的。一次性创建了太多的 NSURLSessionDownloadTask。 开始下载前,取消URLSession,然后开始任务。