我阅读了一些文章,但找不到我要找的内容,所以这里是我的查询。
我从服务器下载了一些文件,并且存在用户锁定其屏幕的情况,在这种情况下,ios设备失去其网络连接并且文件同步失败。
我在NSURLSession
上阅读了一些文章,但它可以从 iOS 7 开始,而我正在开发的应用程序来自 iOS 6 及更高版本。
有没有办法可以在后台下载20或30个文件,或者当用户以通用方式点击锁定屏幕时,无需担心我支持的操作系统版本。
截至目前,我已经读过我们有30秒的时间来执行网络活动,所以在这30秒内服务器呼叫的数量有限制吗?
关于我的代码,我有一个名为DownloadFiles的类调用服务,该服务返回一个fileURL数组并使用NSData
我正在获取这些文件并将它们保存在doc目录中,所以实现后台调用的事情我需要传递我的数组的索引,它将检测正在下载的当前文件,然后从下一个索引继续。
for(NSDictionary *dict in filearray) {
NSString *fileURL = [[dict valueForKey:@"FileURL"]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *fileData = [NSData dataWithContentsOfURL:theFileURL];
if (fileData.length==0 || fileData==nil || theFileURL==nil) {
NSLog(@"empty file URL = %@",theFileURL);
}
if (fileData.length!=0){
BOOL savefile = [fileData writeToFile:[HTML_SERVER_FILES stringByAppendingPathComponent:[dict valueForKey:@"FileName"]] atomically:YES];
if (savefile!=YES) {
NSLog(@"Not saved file = %@",theFileURL);
}else{
NSLog(@"file saved at path %@",HTML_SERVER_FILES);
}
fileData = nil;
}
}
请告诉我在这种情况下需要做些什么。