我正在开发一个我想为 iPhone 3.0、iPhone 4.0 部署的应用程序,它可以在 iPad 上以模拟模式运行。
我正在使用 XCode 3.2.3 进行开发,并且我有要播放的视频。我想使用MPMoviePlayerViewController
>= 3.2 和MPMoviePlayerController
< 3.2。
如果我使用
Class mplayerControllerClass = NSClassFromString(@"MPMoviePlayerViewController");
if(mplayerControllerClass != nil)
{
MPMoviePlayerViewController* moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieUrl];
...
}
带有 OS 3.0 的 iPhone 是否能够处理它不知道的类?
将代码放在__IPHONE_OS_VERSION_MIN_REQUIRED > 30200
ifelse 块中好吗?像这样:
Class mplayerControllerClass = NSClassFromString(@"MPMoviePlayerViewController");
if(mplayerControllerClass != nil) {
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 30200
MPMoviePlayerViewController* moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieUrl];
...
}
但__IPHONE_OS_VERSION_MIN_REQUIRED
真正的作用是什么?在我看来,它只是重复了我为项目设置的设置:min=3.0