iOS cómo cargar un gran archivo de activos en Sever mediante transmisión

Soy nuevo programador de iOS.
Quiero subir un archivo grande (video o imagen) desdebiblioteca de activos en sever, Mi forma original es solo usoNSMutableURLRequest y añadirNSData(video grande o imagen grande) y se produjo un bloqueo en el siguiente código:

    ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *asset){
        //.......some code I just skip it...
        ALAssetRepresentation *rep = [asset defaultRepresentation];
        void *buffer = [rawData mutableBytes];
        [rep getBytes:buffer fromOffset:0 length:size error:nil];
        NSData *videoData = [[NSData alloc] initWithBytes:buffer length:size];//crash here
        [self startUploading:videoData];
    }

Sé que este bloqueo se debe a que la memoria no es suficiente, el archivo de video no se puede asignar a NSData.
Lo he buscado en Google durante 2 días, y parece que hay varias maneras de resolverlo.

use una biblioteca de terceros: como AFNetworking, ASIHTTPRequest (pero no quiero usarla, porque no sé cuándo dejará de mantener o actualizar esto)usa el streaming para subir archivos grandes

y quiero usar el modo de transmisión (punto 2) para cargar cosas,
Encontré este enlace:http://zh.scribd.com/doc/51504708/10/Upload-Files-Over-HTTP
Parece que puede resolver mi problema, pero aún no está muy claro para saber cómo hacerlo

Pregunta 1: hay un ejemplo en ese enlace, el archivo de carga es de paquete
¿Cómo hacer activo en la corriente? o copiar activo a la carpeta de la aplicación?
Encontré este enlaceCopia la imagen de la biblioteca de recursos a una carpeta de aplicaciones
Pero todavía no puede encontrar el camino.

Pregunta 2: o ¿Hay algún otro ejemplo de transmisión más claro para cargar archivos grandes?



Gracias por tu pasion

updated1: después de que implementé el delegado needNewBodyStream, el mensaje "solicitud de agotamiento de la secuencia" pareció solucionarse, pero en su lugar, encontró otro "Dominio de error = kCFErrorDomainCFNetwork Code = 303" No se pudo completar la operación. "¿Cómo resolverlo?

-(NSInputStream *)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)request
{
    [NSThread sleepForTimeInterval:2];
    NSInputStream *fileStream = [NSInputStream inputStreamWithFileAtPath:pathToBodyFile];
    if (fileStream == nil) {
        NSLog(@"NSURLConnection was asked to retransmit a new body stream for a request. returning nil!");
    }
    return fileStream;
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta