El uso de YTPlayerView para reproducir videos de YouTube embeddeds en iOS falló con un error de restricción

Quiero reproducir videos de YouTube embeddeds en la aplicación iOS usando YTPlayerView en https://developers.google.com/youtube/v3/guides/ios_youtube_helper

Cuando intenté reproducir este video con ID = "Ri7-vnrJD3k" ( https://www.youtube.com/embed/Ri7-vnrJD3k ), recibí el post de error "Este video contiene contenido de VEVO. Está restringido desde reproducción en ciertos sitios. Mira en YouTube ". Tenga en count que no existe tal problema al reproducir otros videos.

¿Hay alguna forma de abordar el problema anterior?

Podría usar iframe para reproducir el video en línea exitosamente con el siguiente código de muestra rápida. Pero no sé cómo hacer un seguimiento cuando el usuario comienza a reproducir el video y cuando el video se completa, ya que quiero hacer otras acciones personalizadas basadas en esa información. Si conoce alguna solución, ¿podría hacérmelo saber?

let frame = CGRectMake(0,0, self.view.frame.size.width, 240) playerView = UIWebView(frame: frame) playerView.allowsInlineMediaPlayback = true var embedHTML = NSString(format: "<html><head><style type=\"text/css\"> body { background-color: transparent; color: white; margin:0; width:100%%; height:100%% } </style> </head><body style=\"margin:0\"> <iframe width=100%% height=100%% src=\"%@?feature=player_detailpage&playsinline=1\" frameborder=\"0\" ></iframe> </body></html>", self.url.text) self.view.addSubview(playerView) playerView.loadHTMLString(embedHTML as String, baseURL: NSURL(string: "http://www.youtube.com")) 

Al configurar la propiedad de origin en my playerVars pude reproducir el video embedded.

 let playerVars = [ "playsinline" : 1, "showinfo" : 0, "rel" : 0, "modestbranding" : 1, "controls" : 1, "origin" : "https://www.example.com" ] 

Luego, llame a loadWithVideoId:: como lo haría normalmente.

Youtube

 NSDictionary *playerVars = @{ @"origin" : @"http://www.youtube.com", }; [self.playerView loadWithVideoId:@"videoId" playerVars:playerVars];` 

Esta versión de Objective-C funciona para mí.

YTPlayerView inturn utiliza iframes para reproducir video de YouTube. No puedes usar iframe en la reproducción de videos de YouTube con derechos de autor, puedes usar uiwebView para jugar esto como una alternativa