NSURLSession 后台任务:避免重复
Posted
技术标签:
【中文标题】NSURLSession 后台任务:避免重复【英文标题】:NSURLSession background task: avoid duplicates 【发布时间】:2014-05-06 10:35:09 【问题描述】:我是 NSURLSession 和特别是后台下载任务的新手。有没有办法查询 NSURLSession 以返回后台任务列表?似乎可以对后台下载任务提出重复请求。如果我在前一个 URL 下载请求仍在进行中时发出相同的 url 下载请求,我不会收到任何错误。
处理这种情况的最佳方法是什么?我可以维护我当前正在从中下载的 url 列表,但如果应用程序重新启动,我会丢失此引用。我可以再次将这些信息存储在持久存储中。但是没有选项来查询 NSURLSession 似乎很不方便。
【问题讨论】:
【参考方案1】:您可以通过以下调用获取添加到会话中的所有下载任务的列表。
[[self defaultSession] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks)
];
【讨论】:
以上是关于NSURLSession 后台任务:避免重复的主要内容,如果未能解决你的问题,请参考以下文章
NSURLSession,数据任务转换为下载任务后,后台无法下载
NSURLSession 后台任务:handleEventsForBackgroundURLSession:completionHandler 啥时候调用?