I'm developing an app that I would like to deploy for iPhone 3.0, iPhone 4.0 and that can run on the iPad in emulate mode.
I'm developing with XCode 3.2.3 and I have videos to playback. I would like to use MPMoviePlayerViewController
for >= 3.2 and MPMoviePlayerController
for < 3.2.
If I use
Class mplayerControllerClass = NSClassFromString(@"MPMoviePlayerViewController");
if(mplayerControllerClass != nil)
{
MPMoviePlayerViewController* moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieUrl];
...
}
will an iPhone with OS 3.0 be able to handle a class it doesn't know?
Is it good to put the code inside __IPHONE_OS_VERSION_MIN_REQUIRED > 30200
ifelse block? like this:
Class mplayerControllerClass = NSClassFromString(@"MPMoviePlayerViewController");
if(mplayerControllerClass != nil) {
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 30200
MPMoviePlayerViewController* moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieUrl];
...
}
but what does __IPHONE_OS_VERSION_MIN_REQUIRED
really do? It seems to me that it just repeats the settings I've setup for my project: min=3.0