Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何通过NSURLSessionDownloadTask下载多个文件_Ios_Objective C_Push Notification_Nsurlsessiondownloadtask - Fatal编程技术网

Ios 如何通过NSURLSessionDownloadTask下载多个文件

Ios 如何通过NSURLSessionDownloadTask下载多个文件,ios,objective-c,push-notification,nsurlsessiondownloadtask,Ios,Objective C,Push Notification,Nsurlsessiondownloadtask,iOS 8,XCode 6.3.2 我想连续下载多个文件。 在推送通知之后,应用程序将通过NSURLSessionDownloadTask启动backgrounddownload。 第一个BackgroundDownload进程完成后,应用程序希望启动第二个进程,但第二个BackgroundDownload进程未启动 代码如下 //此方法由推送通知调用 - (void)startBackgroundDownload { // Session NSURLSessionConfigu

iOS 8,XCode 6.3.2

我想连续下载多个文件。 在
推送通知之后,应用程序将通过
NSURLSessionDownloadTask
启动
backgrounddownload
。 第一个BackgroundDownload进程完成后,应用程序希望启动第二个进程,但第二个BackgroundDownload进程未启动

代码如下

//此方法由推送通知调用

- (void)startBackgroundDownload
{
    // Session
    NSURLSessionConfiguration *configFirst = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"com.test.first"];
    sessionFirst = [NSURLSession sessionWithConfiguration:configFirst delegate:self delegateQueue:nil];

    NSURLSessionConfiguration *configSecond = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"com.test.second"];
    sessionSecond = [NSURLSession sessionWithConfiguration:configSecond delegate:self delegateQueue:nil];

    // Start First Download
    NSURLRequest *requestFirst = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://xxxxx/first.zip"]];
    NSURLSessionDownloadTask *downloadTaskFirst = [sessionFirst downloadTaskWithRequest:requestFirst];
    [downloadTaskFirst resume];
}
//完成下载

- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location
{
    if (session == sessionFirst) {
        NSURLRequest *requestSecond = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://xxxxx/second.zip"
        NSURLSessionDownloadTask *downloadTaskSecond = [sessionSecond downloadTaskWithRequest:requestSecond];
        [downloadTaskSecond resume];
    } else if (session == sessionSecond) {
        NSLog(@"all finish");
    }
}
第一个是成功,第二个是失败(不是启动)。 我想得到一些建议来继续这项事业。
感谢您提供的任何帮助。

下载任务分为如下完美部分

  • 首先制作一个要下载的zip文件数组
  • 初始化会话对象
  • 编写一个可以获取URL和“StartDownload”的方法
  • 在名为解压缩该文件的委托方法(成功下载)中。移除zip数组的第一个对象,再次调用“startDownloading”方法及其调用,直到数组计数大于零

  • 我希望你们能理解我想在这里解释的内容。

    下载任务分为如下完美部分。1.首先制作一个要下载的zip文件数组。2.初始化会话对象3。写一个方法,可以得到网址,并开始下载这里有一个例子,请检查它