/ / ako zabezpečiť, aby zariadenie 3.1.3 neprešlo, ak (NSClassFromString (@ „MPMoviePlayerViewController“)! = nil) táto podmienka - iphone, iphone-sdk-3.0, kompatibilita, prehrávač médií, ios4

ako urobiť zariadenie 3.1.3 neschádza, ak (NSClassFromString (@ "MPMoviePlayerViewController")! = nil) táto podmienka - iphone, iphone-sdk-3.0, kompatibilita, media player, ios4

pri spustení na zariadení 3.1.2, prečo tiež prechádza, ak (NSClassFromString (@ "MPMoviePlayerViewController")! = nula) a urobí sa kód iOS4, potom dôjde k zlyhaniu. Ako vyriešiť tieto problémy?

if(NSClassFromString(@"MPMoviePlayerViewController") != nil) {
// iOS 4 code
NSLog(@"MPMoviePlayerViewController");
MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:AppDelegate.PushLink]];
if (mp) {
// save the movie player object
self.theMovie4 = mp;
[mp release];
//Present
[self presentMoviePlayerViewControllerAnimated:self.theMovie4];

// Play the movie!
self.theMovie4.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
[self.theMovie4.moviePlayer play];
}
}
else {
//iOS 3 Code
AppDelegate = nil;
AppDelegate = [[UIApplication sharedApplication] delegate];
[AppDelegate ForceHideNavigationBar];
theMovie3 = nil;

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePreloadDidFinish:)
name:MPMoviePlayerContentPreloadDidFinishNotification
object:theMovie3];

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie3];

// Register to receive a notification when the movie scaling mode has changed.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(movieScalingModeDidChange:)
name:MPMoviePlayerScalingModeDidChangeNotification
object:theMovie3];

theMovie3 = [[MPMoviePlayerController alloc] initWithContentURL: [NSURL URLWithString:AppDelegate.PushLink]];

[theMovie3 play];

}

odpovede:

1 pre odpoveď č. 1

Použil som:

if (NSClassFromString(@"MPMoviePlayerViewController") != nil
&& [UIViewController instancesRespondToSelector: @selector(presentMoviePlayerViewControllerAnimated:)]) {
// iOS 4