我開發一個應用程序,我想部署iPhone 3.0,iPhone 4.0,可以在模擬模式,在iPad上運行。__IPHONE_OS_VERSION_MIN_REQUIRED請解釋
我用了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
真的做什麼?在我看來,它只是重複我設置爲我的項目的設置:分= 3.0
只要基本SDK是新的,就可以包含新類。查看'MessageUI'的蘋果示例代碼:http://developer.apple.com/IPhone/library/samplecode/MailComposer/Listings/Classes_MailComposerViewController_m.html#//apple_ref/doc/uid/DTS40008865-Classes_MailComposerViewController_m-DontLinkElementID_6 – pgb 2010-07-27 19:07:57
@pgb,看起來你是對的。如果我只是使用了課堂,我想過我會記得過去發出警告。 – 2010-07-27 20:02:23