Embedse de video de YouTube de iOS 8

Me enfrento a problemas que no puedo entender.

Tengo este código que funciona perfectamente en Xcode 5 con iOS 7:

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. CGFloat width = self.view.frame.size.width; CGFloat height = self.view.frame.size.height; UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, width, height)]; NSString* embedHTML = @"\ <html><head><meta name=\"viewport\" content=\"width=device-width; initial-scale=1.0; user-scalable=0;\"/>\ <style type=\"text/css\">\ body {\ background-color: transparent;\ color: black;\ }\ </style>\ </head><body style=\"margin:0;\">\ <embed id=\"yt\" src=\"https://www.youtube.com/v/M7lc1UVf-VE?hd=1\" type=\"application/x-shockwave-flash\" \ width=\"%0.0f\" height=\"%0.0f\"></embed>\ </body></html>"; NSString *html = [NSString stringWithFormat:embedHTML, width, height]; [webview loadHTMLString:html baseURL:nil]; [self.view addSubview:webview]; } 

Cuando compongo el mismo código en Xcode 6 para iOS 8, el video se muestra en la vista web pero es pequeño.

¿Alguien puede explicar lo que está sucediendo aquí y cómo podría superar esto?

Tuve el mismo problema, soluciono usando esta solución

https://developers.google.com/youtube/v3/guides/ios_youtube_helper

también en YTPlayerView.m (~ line: 610) testing esto cambios:

 [playerParams setValue:[NSString stringWithFormat: @"%0.00f", self.frame.size.height] forKey:@"height"]; // [playerParams setValue:@"100%" forKey:@"height"]; [playerParams setValue:[NSString stringWithFormat: @"%0.00f", self.frame.size.width] forKey:@"width"]; // [playerParams setValue:@"100%" forKey:@"width"]; 

Espero que esto ayude

Trabajé en esto por un time y descubrí una solución que funciona sorprendentemente para mis propósitos. Lo que estaba sucediendo en mi caso es por alguna razón que iFrame estaba usando algún relleno que necesitaba ser descartado.

También es importante tener en count que si incluye youtube.com como la URL base, se cargará mucho más rápido.

Cree una UIWebView en su storyboard y conecte la propiedad @, luego haga reference a continuación.

  CGFloat height = self.webView.frame.size.height; CGFloat width = self.webView.frame.size.width; NSString *youTubeVideoCode = @"dQw4w9WgXcQ"; NSString *embedHTML = @"<iframe width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\" style=\"margin:-8px;padding:0;\" allowfullscreen></iframe>"; NSString *html = [NSString stringWithFormat:embedHTML, width, height, youTubeVideoCode]; self.webView.scrollView.bounces = NO; [self.webView loadHTMLString:html baseURL:[NSURL URLWithString:@"http://www.youtube.com"]];