I believe the problem is caused by the release of MPMoviePlayerViewController. Just save the controller until you are done with it.
Before "[mp release];" add this line to save the value.
self.moviePlayerViewController = mp;
Then update your dealloc method to release:
- (void)dealloc {
[_moviePlayerViewController release], _moviePlayerViewController = nil;
[super dealloc];
}
Add synthesis to the top of your .m file:
@synthesize moviePlayerViewController = _moviePlayerViewController;
defination @interface .h:
MPMovieViewController *_moviePlayerViewController;
.h:
@property (readwrite, retain) MPMovieViewController *moviePlayerViewController;
:
#import <MediaPlayer/MediaPlayer.h>
#import <MediaPlayer/MPMoviePlayerViewController.h>
"presentMoviePlayer" -:
[self dismissMoviePlayerViewControllerAnimated]
, . , , , NotificationManager, MPMoviePlayerPlaybackDidFinishNotification. , .
, .