NSURLSession didFinishDownloadingToURL 临时下载文件未找到

2024-04-18

我在委托方法 didFinishDownloadingToURL 上遇到了 NSURLSession 的奇怪问题。

我要做的第一件事是检查临时下载的文件是否存在:

- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask
                                            didFinishDownloadingToURL:(NSURL *)location
{
    if (![[NSFileManager defaultManager] fileExistsAtPath: [location path]])
    {
        NSLog(@"Error. File not found");
        return; // is giving error when the app is wake up by the system
    }
    ...
}

当应用程序位于前台且下载完成时,它可以正常工作。但是当应用程序在后台并被操作系统强制杀死时,它会返回 false。

有人知道可能会发生什么吗?我知道当应用程序被操作系统唤醒时,此委托方法的执行有一个时间限制,因此临时文件不存在是没有意义的。我什至无法将其复制到其他位置... 由于文件的大小而有意义吗?我正在下载 +-130MB 的文件。

Thanks.


我通过卸载应用程序后安装应用程序解决了同样的问题。当网络会话工作时发生强制关闭时,NSURLSession 似乎会在系统上留下碎片。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSURLSession didFinishDownloadingToURL 临时下载文件未找到 的相关文章

随机推荐