Descarga de video desde HTML + UIWebView

En mi nueva aplicación necesito download videos de diferentes sitios web, digamos que es una aplicación de descarga de videos. Para esto lo que estoy planeando es search html para .mp4 y .Flv url y luego tratar de download videos. Hay muchas aplicaciones que ya están haciendo lo mismo.

http://itunes.apple.com/in/app/video-downloader-super-lite/id481701140?mt=8

Lo que estoy preguntando es, ¿cómo podemos download videos? Cualquier código o enlace o algo así. ¿Cómo funciona esta aplicación? Cualquier ayuda realmente lo agradecerá.

lo que necesitaba es abrir una página en UIWebview. Diga que abre "www.youtube.com" y selecciona un video para reproducir, luego pide download. Para la descarga, necesito una URL (url embedded, url Flv, url mpv), así que puedo hacerlo funcionar. Necesito saber acerca de esa URL.

Si puede usar la biblioteca AFNetworking , es bastante simple. Puede hacer una request HTTP y usar su propiedad outputStream para download el file a su dispositivo. Digamos que downloadVideoFromURL:withName: un button de descarga a una function downloadVideoFromURL:withName:

 - (void)downloadVideoFromURL:(NSURL*)url withName:(NSString*)videoName { //filepath to your app's documents directory NSString *appDocPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *videosPath = [appDocPath stringByAppendingPathComponent:@"Videos"]; NSString *filePath = [videosPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4", videoName]]; //check to make sure video hasn't been downloaded already if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { //file was already downloaded } //video wasn't downloaded, so continue else { //enable the network activity indicator [AFNetworkActivityIndicatorManager shanetworkingManager].enabled = YES; NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:urlRequest]; //create a temporary filepath while downloading NSString *tmpPath = [videosPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@-tmp.mp4", videoName]]; //the outputStream property is the key to downloading the file operation.outputStream = [NSOutputStream outputStreamToFileAtPath:tmpPath append:NO]; //if operation is completed successfully, do following [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { //rename the downloaded video to its proper name [[NSFileManager defaultManager] moveItemAtPath:tmpPath toPath:filePath error:nil]; //disable network activity indicator [AFNetworkActivityIndicatorManager shanetworkingManager].enabled = NO; //optionally, post a notification to anyone listening that the download was successful [[NSNotificationCenter defaultCenter] postNotificationName:@"DownloadedVideo" object:nil]; //if the operation fails, do the following: } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"error: %@", error); //delete the downloaded file (it is probably partially downloaded or corrupt) [[NSFileManager defaultManager] removeItemAtPath:tmpPath error:nil]; //disable network activity indicator [AFNetworkActivityIndicatorManager shanetworkingManager].enabled = NO; }]; //start the operation [operation start]; } } 

si realmente quieres ir a piratear, obtendrás la biblioteca privada de Apple, "webkit", si tratas de encontrar las subvistas de UIWebview, podría ayudarte, nunca lo intenté, pero puedes probar con esta lógica.