我正在使用以下代码,以便使用以下代码下载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。