Ты прав насчет __IPHONE_OS_VERSION_MIN_REQUIRED
: это все, что ты вкладываешь в свой проект.Поэтому любой оператор #if
, который вы используете, будет оцениваться во время компиляции, а это не то, что вам нужно.
Вместо этого делайте то, что вы делали изначально, но с некоторыми незначительными изменениями, например:
Class mplayerControllerClass = NSClassFromString(@"MPMoviePlayerViewController");
if(mplayerControllerClass != nil) {
id moviePlayerViewController = [[mplayerControllerClass alloc] initWithContentURL:movieUrl];
...
}
Дело в том, что вы не должны использовать MPMoviePlayerViewController
сам по себе, даже если вы убедились, что он должен существовать (в любом случае, я не думаю, что он скомпилирует / скомпонует правильно).Но да, это будет нормально работать на устройстве с ОС 3.0.(См., Например, пример Apple OpenGL ES для того же самого с CADisplayLink
.)