iOS5:播放Youtube视频的模态UIViewController中的UIWebView上的异常

Tho*_*ert 19 uiwebview html5-video modalviewcontroller ios ios5

更新: iOS 6 beta 1不再出现

我目前正在使用新的iOS 5 SDK调整现有的iOS 4应用程序.我在一个读取Youtube视频的模态视图控制器中呈现UIWebView时发现了一个新的崩溃.

开始阅读视频很好,但是当我尝试全屏设置时,我得到以下异常:

Exception: UIViewControllerHierarchyInconsistency,
child view controller:<UIViewController: 0x6aef180> 
should have parent view controller:<WebViewController: 0x6a706c0> 
but requested parent is:<MPInlineVideoViewController: 0x6ae5d40>
Run Code Online (Sandbox Code Playgroud)

这是我在主视图控制器中实例化并呈现我的模态视图控制器的方法:

- (IBAction)buttonReleased:(id)sender
{
    WebViewController *webVC = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:[NSBundle mainBundle]];
    webVC.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    webVC.modalPresentationStyle = UIModalPresentationPageSheet;
    [self presentModalViewController:webVC animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

我使用UIModalPresentationPageSheet作为modalPresentationStyle,当我将此值设置为UIModalPresentationFullScreen时,不再出现错误.

在我的模态WebViewController中,这是我加载Youtube视频的方式:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=bDlm3eLRut0"]]];
}
Run Code Online (Sandbox Code Playgroud)

关于这个问题的任何想法?我可以提供一个完整的示例代码,以便在需要时隔离此崩溃.

谢谢 !

jam*_*ack 2

这些控制台警告是由于 Mac 上的音频组件正在加载而导致的。它是一个模拟器,而不是模拟器\xe2\x80\x94,模拟器仍然是一个 Mac OS X 应用程序,因此在使用音频时,它会加载 Mac 应用程序加载的所有音频 kext。当我在模拟器中测试 Bandcamp 应用程序 Kumbaya 的音频流时,会发生这种情况。如果您不想看到这些问题,请在设备上进行测试。

\n\n

如果您愿意,可以使用以下方法包装音频方法:

\n\n
#if ! TARGET_IPHONE_SIMULATOR\n#endif\n
Run Code Online (Sandbox Code Playgroud)\n\n

在模拟器中禁用它们。

\n