0

当在设备 3.1.2 上运行时,为什么它还会通过 if(NSClassFromString(@"MPMoviePlayerViewController") != nil) 并做 iOS4 的代码然后它会崩溃,如何解决这个问题?

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];

         }
4

1 回答 1

1

我用了:

if (NSClassFromString(@"MPMoviePlayerViewController") != nil
    && [UIViewController instancesRespondToSelector: @selector(presentMoviePlayerViewControllerAnimated:)]) {
    // iOS 4
于 2010-06-27T14:44:20.150 回答