AFNetworking下载进度问题iOS

时间:2013-12-10 14:12:48

标签: ios ios7 afnetworking-2

我正在使用以下代码,以便使用以下代码下载zip文件,一次只有一个正在运行的操作

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:TempUrl]];
    operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.zip",model.iD]];
    operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];
    [operation setUserInfo:[NSDictionary dictionaryWithObject:model forKey:@"model"]];

    [operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {

        NSLog(@"%lu",(unsigned long)bytesRead);
        NSLog(@"%lu",(unsigned long)totalBytesRead);
        NSLog(@"%lu",(unsigned long)totalBytesExpectedToRead);
}];

以下代码处理在app home按钮按下或屏幕锁定时暂停和恢复下载

// Notification invokes these methods
-(void)appEntersBg {  // Application enters background

    if([[self downloadQueue] operationCount]) {

        [[[[self downloadQueue]operations]firstObject] pause];

    }}

-(void)appEntersForground {  // application enters forground

    if([[self downloadQueue] operationCount]) {

        [[[[self downloadQueue]operations]firstObject] resume];

    }
}

当我开始下载时,我得到正确的字节读取值和预期的字节数 但当app进入Background然后再次进入forground时会出现奇怪的值。

就像我正在下载大小为10MB的文件

我开始下载,DOWNLOADEDSIZE达到4MB。 和EXPECTEDDOWNLOADSIZE大小为10MB

现在我按下主页按钮并下载PAUSES。 启动应用 App进入Forground并下载RESUMES

现在EXPECTEDDOWNLOADSIZE是6MB(10-4MB) 和DOWNLOADEDSIZE与之前的4MB相同。

文件已正确下载但如何在以后正确显示下载进度 多次app进入后台和前台

任何建议或帮助

我正在开发iOS 7和AFNetworking 2。

0 个答案:

没有答案