ios - 错误域 = 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.* 版本中遇到了错误,它工作正常。
有没有人更早遇到这个问题并找到了解决这个问题的方法?
如果是,那么请帮我解决这个问题。
解决方案
此错误可能是由后台运行的下载任务引起的。一口气创建了太多的 NSURLSessionDownloadTask。在开始下载之前,取消 URLSession 然后启动任务。
推荐阅读
- python - 如何制作一个在按下按钮时生成新按钮/标签/小部件的功能?
- reactjs - 如何使取消请求处理工作
- xslt - 日历日期到儒略日期的转换
- javascript - 在从数据库绑定到 mvc 控件时,如何配置我的 javascript 函数以将日期转换为 dd/MMM/yyyy 格式?
- r - 在数据表 R 中拆分字符元素
- ag-grid - ag-grid:每次单击过滤器时调用函数
- java - java 对象重叠或内存损坏
- c# - 如何模拟实体框架核心变更跟踪
- azure-blob-storage - 如何在 azure 中读取和写入不可变 Blob 存储
- mongodb - Mongoose 5.6.1 上的大量连接