首页 > 解决方案 > 错误域 = NSPOSIXErrorDomain 代码 = 2“没有这样的文件或目录”

问题描述

我在尝试使用URLSession和下载文件时遇到奇怪的问题URLSessionConfiguration.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=***, NSErrorFailingURLKey=***, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"BackgroundDownloadTask <546389FE-6503-4F43-A01C-C174A09C2892>.<45>",
"LocalDownloadTask <546389FE-6503-4F43-A01C-C174A09C2892>.<45>"
), _NSURLErrorFailingURLSessionTaskErrorKey=BackgroundDownloadTask <546389FE-6503-4F43-A01C-C174A09C2892>.<45>}

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

大约 1 个月前,iOS 12.* 版本的后台下载功能也正常工作。我在几天前的 iOS 12.* 版本中遇到了错误,它工作正常。

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

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

标签: iosswiftnsurlsessionnsurlsessiondownloadtasknsurlsessionconfiguration

解决方案


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


推荐阅读