点击播放网页内的YouTube视频时,iOS 6.1 UIWebview会崩溃

时间:2013-02-07 17:27:35

标签: iphone ipad ios6

我想在app中显示一个网站。我想加载的网站上有一个youtube视频。该网站在UIWebView中正确加载,并列出了YouTube视频。但是,当我点击YouTube视频时,应用程序崩溃了。

崩溃日志只是说:

setting movie path: http://r19---sn-aig7knl7.c.youtube.com/videoplayback?...............

在Safari中加载的网站工作正常,它甚至可以全屏播放youtube视频。

请帮我解决这个问题。

2013年2月11日 - 更新

仅在iOS模拟器6.1上才会出现此问题。在设备上一切正常。

详细信息:

我有一个自定义的UIViewController(TestWebViewController),它有一个UIWebView实例并实现了UIWebViewDelegate。我在Storyboard中添加了一个UIViewController并在其中添加了UIWebView,将这个UIViewController链接到我的自定义TestWebViewController并链接了IBOutlet和UIWebView的委托。

单击按钮,我使用

以编程方式实例化TestWebViewController
TestWebViewController *testWebVC = [self.storyboard instantiateViewControllerWithIdentifier:@"testWebVC"];
testWebVC.view.frame = self.view.frame;
[testWebVC loadWebViewWithUrl:TEST_URL];

[self presentViewController:testWebVC animated:YES completion:nil];

3 个答案:

答案 0 :(得分:3)

正如斯科特在评论中所说,我删除了所有例外的断点,我的错误就消失了。

希望这会对其他人有所帮助。

答案 1 :(得分:0)

iOS 5.0和iOS 5.1上的模态视图是导致全屏视频AFAIK崩溃的问题。他们只是在那个版本的iOS(parentViewController和presentsViewController)中改变了视图的层次结构,这就是后果。我很久以前在这里问过这个问题,还有一个问题在这里,但仍然没有人知道该怎么做。

首先,他们将其修复为6.0,我猜,这很好。

对于5.1,我们稍微改变了设计并避免了模态视图。如果在您的情况下可行,请这样做。

答案 2 :(得分:0)

    TestWebViewController *testWebVC = [self.storyboard instantiateViewControllerWithIdentifier:@"testWebVC"];

[testWebVC LoadWebView:@"YOUR URL STRING"];
[self presentViewController:testWebVC animated:YES completion:nil];

 AND in TestWebViewController class

-(void)LoadWebView:(NSString *)address {
addressStr = address;
}

- (void)viewDidLoad
{
[super viewDidLoad];
url = [NSURL URLWithString:addressStr];
NSURLRequest *request = [NSURLRequest requestWithURL:url] ;
[myWebView loadRequest:request] ;
}