У меня возникла проблема с загрузкой 5 Мбайт файла, это занимает более 2 минут на iPhone 5 с iOS 6.1.
Используя iPhone 4S с той же версией iOS, он занимает всего 10 секунд, оба используют WiFi.
Я пробовал различную политику и интервал тайм-аута NSURLRequest, он ничего не менял, он все еще занимает много времени. Загрузка осуществляется через HTTP.
Я использую класс NSURLConnection, перед загрузкой этого "большого" файла я загружаю два других.
Не знаю, что еще может быть важно, чтобы сократить время.
Спасибо заранее.
код:
@interface MyClass : NSObject <NSURLConnectionDelegate>
{
@private id delegate;
NSURLConnection *connection;
NSMutableData* responseData;
//...
}
#import "MyClass.h"
@implementation MyClass
-(void)getObj1:(id)delegateObj
{
delegate = delegateObj;
NSString *url = @"...";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:120.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(connection)
{
responseData = [NSMutableData data];
}
}
-(void)getObj2:(*String)somesString
{
NSString *url = @"...";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:120.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(connection)
{
responseData = [NSMutableData data];
}
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
//....
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[responseData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
if(firstRequest)
{
//save data from first request and set responseData clear
[self getObj2:@"..."];
}
}
и другие, не имеющие ничего особенного, надеюсь, этого будет достаточно
Я нашел этот пост https://devforums.apple.com/message/754875#754875, но все еще не работает нормально для меня. Однако теперь я лучше понимаю эту странную ситуацию.