XCDYouTubeVideoPlayerViewController is a YouTube video player for iPhone and iPad.
To the best of my knowledge, the only official way of playing a YouTube video on iOS is with a UIWebView and the iframe player API. Unfortunately, this is very slow and quite ugly, so I wrote XCDYouTubeVideoPlayerViewController which gives the user a better viewing experience.
XCDYouTubeVideoPlayerViewController uses progressive download, so remember that some restrictions apply if you submit your app to the App Store, as stated in HTTP Live Streaming — Requirements for Apps:
Warning: iOS apps submitted for distribution in the App Store must conform to these requirements.
If your app delivers video over cellular networks, and the video exceeds either 10 minutes duration or 5 MB of data in a five minute period, you are required to use HTTP Live Streaming. (Progressive download may be used for smaller clips.)
- Runs on iOS 5.0 and later
- Must be compiled with ARC
XCDYouTubeVideoPlayerViewController is available through CocoaPods.
Alternatively, you can install it manually:
- Copy the
XCDYouTubeVideoPlayerViewController.h
andXCDYouTubeVideoPlayerViewController.m
files in your project. - Add
MediaPlayer.framework
andAVFoundation.framework
in your project.
Use XCDYouTubeVideoPlayerViewController
the same way you use a MPMoviePlayerViewController
, except you initialize it with a YouTube video identifier instead of a content URL.
XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:@"9bZkp7q19f0"];
[self presentMoviePlayerViewControllerAnimated:videoPlayerViewController];
XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:@"9bZkp7q19f0"];
[videoPlayerViewController presentInView:self.videoContainerView];
[videoPlayerViewController.moviePlayer play];
See the demo project for more sample code.
Cédric Luthi
XCDYouTubeVideoPlayerViewController is available under the MIT license. See the LICENSE file for more information.