NSURLSession introdujo en iOS 7, es la forma recomendada SDK de descarga de un archivo. No es necesario importar bibliotecas de terceros.
NSURL *url = [NSURL URLWithString:@"http://www.something.com/file"];
NSURLRequest *downloadRequest = [NSURLRequest requestWithURL:url];
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *urlSession = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
self.downloadTask = [self.urlSession downloadTaskWithRequest:downloadRequest];
[self.downloadTask resume];
continuación, puede utilizar los métodos de delegado NSURLSessionDownloadDelegate para controlar errores, la terminación de descarga, descarga el progreso, etc ... Hay métodos bloque de finalización manejador de devolución de llamada en línea también si usted prefiere. Las manzanas explican cuándo debes usar una sobre la otra.
tener una lectura de estos artículos:
objc.io NSURLConnection to NSURLSession
URL Loading System Programming Guide
Sólo me preguntaba, es este bloqueo o no? Supongo que este bloquea. – schystz
@schystz si al bloquear significa síncrono, entonces sí lo es. – carlossless
Del mismo modo, uno también podría estar interesado en '+ [NSString stringWithContentsOfURL: encoding: error:]' – Zmaster