Vidéo YouTube de lecture cassé sur iOS6 (fonctionne très bien sur iOS5)

Dans mon application, j'ai un bouton qui, lorsqu'il est pressé, vous permet de regarder une vidéo sur youtube (une bande annonce de film). Au sein de l'application, sans avoir à lancer safari. Ci-dessous vous pouvez voir un extrait de code. Ce code fonctionne pefrectly bien sous iOS5. Cependant, dans iOS 6, le UIButton dans findButtonInView est toujours nul. Les idées de ce que pourrait être la raison?

youtubeWebView.delegate = self;
youtubeWebView.backgroundColor = [UIColor clearColor];
NSString* embedHTML = @" <html><head> <style type=\"text/css\"> body {background-color: transparent;  color: white; }</style></head><body style=\"margin:0\"><embed id=\"yt\" src=\"%@?version=3&app=youtube_gdata\" type=\"application/x-shockwave-flash\"width=\"%0.0f\" height=\"%0.0f\"></embed></body></html>";
NSURL *movieTrailer;
if(tmdbMovie) movieTrailer = tmdbMovie.trailer;
else movieTrailer = [NSURL URLWithString:movie.trailerURLString];
NSString *html = [NSString stringWithFormat:embedHTML,
movieTrailer,
youtubeWebView.frame.size.width,
youtubeWebView.frame.size.height];
[youtubeWebView loadHTMLString:html baseURL:nil];
[self addSubview:youtubeWebView];
- (void)webViewDidFinishLoad:(UIWebView *)_webView {
isWatchTrailerBusy = NO;
[manager displayNetworkActivityIndicator:NO];
//stop the activity indicator and enable the button
UIButton *b = [self findButtonInView:_webView];
//TODO this returns null in case of iOS 6, redirect to the youtube app
if(b == nil) {
NSURL *movieTrailer;
if(tmdbMovie) {
movieTrailer = tmdbMovie.trailer;
} else {
movieTrailer = [NSURL URLWithString:movie.trailerURLString];
}
[[UIApplication sharedApplication] openURL:movieTrailer];
} else {
[b sendActionsForControlEvents:UIControlEventTouchUpInside];
}
}
- (UIButton *)findButtonInView:(UIView *)view {
UIButton *button = nil;
if ([view isMemberOfClass:[UIButton class]]) {
return (UIButton *)view;
}
if (view.subviews && [view.subviews count] > 0) {
for (UIView *subview in view.subviews) {
button = [self findButtonInView:subview];
if (button) return button;
}
}
return button;
}
Je suis à l'aide de HTML iFrame Api (qui est d'AILLEUR moyen recommandé) pour intégrer la vidéo sur youtube et cette auto-jouer technique findButtonInView n'a jamais fonctionné pour moi (retourne la valeur null).
avez-vous un lien vers un tutoriel ou un extrait de code sur l'utilisation des iframes à la place? thx
Voir ma question et de la réponse de ici
thx. donc, cela signifie qu'Il est impossible d'avoir un bouton soit pressé de regarder une vidéo sur youtube à l'intérieur de l'app?
Elle n'a jamais travaillé pour moi, et de plus c'est un genre de hack qui n'a pas de garantie que cela fonctionnera sur la prochaine mise à jour OS.

OriginalL'auteur Asem H. | 2012-09-17