iOS 6 MPMoviePlayerViewController崩溃

时间:2012-09-27 08:07:58

标签: ios video

我尝试将我的应用程序升级到iOS 6时发生了一次奇怪的崩溃。注意:这次崩溃只发生在iPhone上,iPad还可以。

<Error>: CGContextSaveGState: invalid context 0x933f7d0
<Error>: CGContextClipToRect: invalid context 0x933f7d0
<Error>: CGContextTranslateCTM: invalid context 0x933f7d0
<Error>: CGContextDrawShading: invalid context 0x933f7d0
<Error>: CGContextRestoreGState: invalid context 0x933f7d0
<Error>: CGBitmapContextCreateImage: invalid context 0x933f7d0
-[Not A Type release]: message sent to deallocated instance 0x933f7d0

初始化MPMoviePlayerViewController时会发生这种情况:

    self.moviePlayerController = [[[MPMoviePlayerViewController alloc] initWithContentURL:_videoUrl] autorelease];

其中moviePlayerController是合成和保留的属性。

以下是完整设置:

-(void)setupMediaPlayer {
//NSLog(@"VideoViewController:setupMediaPlayer");

CGRect viewFrame = self.view.frame;    

if (self.moviePlayerController == nil) {
    self.moviePlayerController = [[[MPMoviePlayerViewController alloc] initWithContentURL:_videoUrl] autorelease];
}
else {
    [self.moviePlayerController.moviePlayer setContentURL:_videoUrl];
}

[[self.moviePlayerController view] setFrame:viewFrame];

[self.navigationController.view addSubview:[self.moviePlayerController view]];

}

我已经检查了_videoURL,并且每次都会提供一个好的网址。

我尝试将其更改为MPMoviePlayerController,但是除了generalCallback之外,我的所有通知都没有被触发。像这样设置(但在非ViewController选项中删除.movi​​ePlayer):

[[NSNotificationCenter  defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:self.moviePlayerController.moviePlayer];
[[NSNotificationCenter  defaultCenter] removeObserver:self name:MPMoviePlayerLoadStateDidChangeNotification object:self.moviePlayerController.moviePlayer];
[[NSNotificationCenter  defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackStateDidChangeNotification object:self.moviePlayerController.moviePlayer];

我很难过,因为这在iOS 5中完美运行。

注意:我在这个项目中使用Three20和TTNavigator。 TTNavigator似乎不支持新的supportedOrientations设置,所以在iPad上我必须从头开始构建我的tabbar,这样我就不会得到以下错误,所以它会在Landscape中启动:

应用程序在应用程序启动结束时应该有一个根视图控制器

我仍然在iPhone上收到此错误,但我不知道它是否与iPad上没有发生的视频播放器崩溃有关。

有什么想法吗?

由于

0 个答案:

没有答案