我想在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的委托。
单击按钮,我使用
以编程方式实例化TestWebViewControllerTestWebViewController *testWebVC = [self.storyboard instantiateViewControllerWithIdentifier:@"testWebVC"];
testWebVC.view.frame = self.view.frame;
[testWebVC loadWebViewWithUrl:TEST_URL];
[self presentViewController:testWebVC animated:YES completion:nil];
答案 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] ;
}