gpt4 book ai didi

ios - NSURLSessionDownloadTask 下载任务 : didFinishDownloadingToURL file does not exist?

转载 作者:技术小花猫 更新时间:2023-10-29 10:27:59 25 4
gpt4 key购买 nike

我已经实现了 NSURLSessionDownloadTask 来同时下载多个视频。在正常情况下,一切正常。后台获取也可以正常工作。但是当我关闭应用程序并重新启动应用程序并执行相同的 downloadTask: didFinishDownloadingToURL 时,我得到的临时文件路径是错误的。该文件不存在于路径中。当我通过 finder 检查路径时,我发现文件存在,唯一的区别是提供的路径不包含文件名,并且还存在和应该存储文件的父文件夹同名的额外文件夹。请找到下面分享的路径

/Users/sfm/Library/Developer/CoreSimulator/Devices/EB96B330-4928-422F-8655-DC0E9781014A/data/Containers/Data/Application/54691CE2-D599-41CA-813B-2A8FF7B868F8/Library/Caches/com.apple.nsurlsessiond/Downloads/com.application.tre/com.application.tre

谁能帮忙找到下载文件的路径或处理这种情况?我做了研究寻找解决方案,但很遗憾地说这在任何地方都找不到

最佳答案

调试应用程序时,自 iOS8 起,每次启动调试 session 时文件路径都会更改(至少在模拟器中)。

查看路径中的app-identifier,调试的时候有时会变

从 iOS8 开始,您应该将其用于文件 URL:

NSURL *documentsPath = [[[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] lastObject];

setDownloadTaskDidFinishDownloadingBlock: 中,我使用它返回应该保存文件的文件 URL:

return [documentsPath URLByAppendingPathComponent:fileName];

打开文件:

NSURL *fileURL = [documentsPath URLByAppendingPathComponent:fileName];

删除文件:

NSURL *fileURL = [documentsPath URLByAppendingPathComponent:fileName];
NSError *error = nil;
[[NSFileManager defaultManager] removeItemAtURL:fileURL error:&error];

关于ios - NSURLSessionDownloadTask 下载任务 : didFinishDownloadingToURL file does not exist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31879745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com