草庐IT

NSUrlSessionDownloadTask

全部标签

ios - NSURLSessionDataTask 在 iOS 后台的同一个 NSURLSession 中的 NSURLSessionDownloadTask 之后没有被调用

我的iOS应用按以下方式运行我有一组音频文件名,我检查文件是否存在。如果它存在,它就会开始播放。完成后我开始播放下一个音频。如果文件不存在,我会发出一个NSURLSessionDataTaskPOST请求,返回一个字符串,它是要下载的文件的URL。(这URL在一分钟内有效)。收到URL后,我会发出NSURLSessionDownloadTask请求并下载文件、保存文件并播放音频。当应用程序处于前台时,整个过程工作得很好。当所有音频都存在且应用程序在后台运行时,也能完美运行。当音频文件不存在且应用程序在后台运行时出现问题我的代码:BackgroundFetchManager.h@inte

ios - 使用单个 URLSessionDownloadDelegate 确认类使用多个下载任务是一种好方法吗?

目前我正致力于实现一个网络管理器来处理下载和上传任务。我有一个确认URLSessionDownloadDelegate、URLSessionDelegate的类。我面临的问题是我正在使用一个用于所有服务调用的session对象。因此,当处理多个网络操作时,所有响应回调都将在实现委托(delegate)方法的类中处理。因此,为了找到哪个调用已收到响应,我正在比较委托(delegate)方法的任务参数和当前正在运行的所有任务(我为确认session协议(protocol)的类中的每个委托(delegate)方法设置了闭包属性).还有其他方法可以实现这个结果吗?(我认为这在处理大量请求时不是

ios - 使用 NSURLSessionDownloadTask 一个一个地下载文件

在我的应用程序中,我从Web服务获取JSON。此JSON包含我要下载的几个文件的网址。我想使用NSURLSessionDownloadTask一个一个地下载每个文件(等待第一个下载完成,直到第二个开始,依此类推)。我还想跟踪写入的总字节数,以便更新UI。提前致谢! 最佳答案 众所周知,NSURLSessionDownloadTask不能很好地与NSOperationQueues一起使用,不像它们的对应物NSURLConnection(它可以封装在NSOperation中)。一个选择是将所有url添加到一个数组,然后在任务的compl

ios - NSURLSession 下载重新启动而不调用任何委托(delegate)

我注意到我的应用程序中有一个与NSURLSession相关的奇怪行为。我使用带有后台配置的NSURLSession开始下载,下载开始没有任何问题,但在某些时候,显然是随机的,它停止了几秒钟,然后重新启动而不调用除之外的任何委托(delegate)-URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:重置字节数。谁能告诉我发生了什么事?这是我初始化session的方式if([[[UIDevicecurrentDevice]systemVersion]compare:@"8.0"o

ios - 在后台创建 session 下载任务

在我的应用程序中,我在后台使用了NSURLSessionDownloadTask。当应用程序在前台时,我恢复一个下载任务。稍后,当应用程序再次进入后台时,该下载任务完成,在函数didCompleteError中,我想在应用程序仍在后台时创建另一个下载任务。但是下载任务没有运行。谁能帮帮我? 最佳答案 试试这段代码:-(void)URLSession:(NSURLSession*)sessiondownloadTask:(NSURLSessionDownloadTask*)downloadTaskdidWriteData:(int64

ios - NSURLSession后台传输: Callback for each video downloaded from a queue

我正在使用后台传输服务通过NSURLSession下载多个视频。当应用程序处于后台模式时,下载工作正常,我对此感到满意。我的问题是,我想为从队列中下载的每个视频回调。我期望为每个下载的视频调用以下方法:-(void)application:(UIApplication*)applicationhandleEventsForBackgroundURLSession:(NSString*)identifiercompletionHandler:(void(^)())completionHandler当系统在后台传输后没有更多消息发送到我们的应用程序时,以下方法:-(void)URLSess

ios - NSURLSessionDownloadTask 偶尔会导致 nil 数据

我在我的应用程序中(在UICollectionView中)从CDN异步下载图像。每次我运行它时,不同的图像将无法加载。22个中大约有1-3个。有时(很少)它们都会加载。但关键是它不一致。发生的事情是在这一行中:NSData*fileData=[NSDatadataWithContentsOfURL:location];fileData间歇性地为nil。奇怪的是,NSURLSessionDownloadTask中的error也是nil。这是完整的方法:+(void)downloadFileAsynchronouslyWithUrl:(NSURL*)fileUrlandCallback:(

ios - 如何从resumeData的NSURLSessionResumeCurrentRequest中为HTTPHeaderField添加Value?

我有一个来自cancelByProducingResumeData的resumeData的字典:如下所示,我想知道如何使用NSURLSessionResumeCurrentRequest为HTTPHeaderField添加值。我想知道如何将NSURLSessionResumeCurrentRequest的NSData转换为NSURLRequest。2014-11-1113:11:30.545xxxxXXXXX[77997:14163248]resumeInfo=>{NSURLSessionDownloadURL="http://xxx.xxx.xxx/webdav/content/ad

ios objective-c : How to get NSURLSession to return Content-Length(http header) from server

我已经试过了HowtogetNSURLSessiontoreturnContent-Length(httpheader)fromserver.Objective-c,ios-(longlong)getContentLength{NSURLSessionConfiguration*config=[NSURLSessionConfigurationdefaultSessionConfiguration];NSURLSession*session=[NSURLSessionsessionWithConfiguration:config];NSMutableURLRequest*request

ios - 带有 URL 的 NSURLSession downloadTask 返回 nil

我的应用程序中的NSURLSessionDownloadTask有问题我用代码创建了数百个下载任务:NSURLSessionDownloadTask*task=[_urlSessiondownloadTaskWithURL:downloadUrl];NSLog(@"session:%@,downloadtask%@forurl:'%@'",_urlSession,task,downloadUrl);if(!task){NSLog(@"ooopsnotask");}else{}在xcode控制台中,我有这样的消息:2014-03-2811:23:39.297MYAPP[3838:60b]