Incrustados de YouTube en UIWebViews que ya no funcionan en iOS

He tenido una aplicación por un time que utiliza UIWebView s para mostrar videos de YouTube en ciertas vistas. Hoy en día, sin ningún cambio en el código, mis usuarios comenzaron a quejarse de que los embeds de YouTube no funcionan: el embebido con el cuadro fijo y el button de reproducción se muestran bien, pero onclick en el button de reproducción, la pantalla embebida se vuelve negra y nada carga, ningún sonido o video

Aquí está mi function para generar un código de UIWebView para poner en UIWebView desde un ID de YouTube:

 + (NSString*)codeForYouTubeID:(NSString*)videoID width:(NSUInteger)width height:(NSUInteger)height { static NSString *fmt = @"<iframe width='%d' height='%d' src='http://www.youtube.com/embed/%@?showinfo=0&modestbranding=1&rel=0&showsearch=0' frameborder='0' scrolling='0' allowfullscreen></iframe>"; return [NSString stringWithFormat:fmt, width, height, videoID]; } 

Poniendo el código resultante en JSFiddle, las pantallas de inserción se reproducen bien. También he usado la siguiente cadena de formatting alternativa con los mismos resultados (de una respuesta de StackOverflow aquí ):

 static NSString *fmt = @"<object>\ <param name=\"movie\" value=\"http://www.youtube.com/v/%@\"></param>\ <embed src=\"http://www.youtube.com/v/%@\" type=\"application/x-shockwave-flash\"></embed>\ </object>"; 

Esto tiene los mismos resultados, pero con un embedded de tamaño autoadhesivo. El comportamiento es el mismo: el usuario puede hacer clic en el button de reproducción, luego el cuadro de inserción se vuelve negro y no ocurre nada más. Para mí, esto está sucediendo en mi teléfono de testing (iPhone 4, iOS 7) y en el simulador (iOS6 y 7). Esto no sucedió antes de hoy, y no se ha cambiado ningún código. ¿Alguien más ha experimentado esto recientemente?

Alguien encontró una solución aquí , hasta cierto punto. No estoy seguro de cómo marcar una respuesta así, pero la copyré aquí para mayor comodidad.

Esencialmente, el problema parece relacionarse con un cambio en la implementación del parámetro de playsinline en playsinline en el lado de YouTube. No importa qué valor proporcione, o si utiliza el valor pnetworkingeterminado, pero parece romper cada video de YouTube embedded de esta manera.

La solución parece estar agregando la siguiente línea antes de llamar a [myWebView loadHTMLString:string] :

 [myWebView setMediaPlaybackRequiresUserAction:NO]; 

No tengo idea de por qué esto lo soluciona, pero muchas gracias a Kyokook Hwang por proporcionar esa respuesta tan rápidamente. Funcionó para mí, y también funcionó para muchos otros.

Estoy experimentando este mismo problema. No sé exactamente cuándo comenzó a suceder, ya que hoy lo informé como un error, pero se manifiesta exactamente de la forma en que lo describe.

Parece que algo va mal en el final de Google, esperemos que no sea intencional.

editar: un amigo me señaló esta publicación que puede estar relacionada: https://productforums.google.com/forum/#!category-topic/youtube/report-a-technical-issue/iHd0NK33k-I