views:

119

answers:

1

when Run on Device 3.1.2, why it also pass if(NSClassFromString(@"MPMoviePlayerViewController") != nil) and do code of iOS4 then it will crash , how to fix this issues?

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

         }
+1  A: 

I used:

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