有时在webView崩溃时运行youtube

时间:2016-06-30 12:18:58

标签: ios objective-c uiwebview youtube-api uiwebviewdelegate

我构建了在webview中加载youtube的示例应用,有时在特定视频中应用崩溃。 这是日志:

  

此应用程序正在从后台修改autolayout引擎   线程,这可能导致引擎损坏和奇怪的崩溃。这个   将在未来版本中引发异常。

我知道这是播放器开始播放视频时的主要线程问题,但没有解决方案,另一件事可能有助于解决这个问题,当发生这种情况时,webview委托方法-shouldStartLoadWithRequest未被调用。 ..

这是我的viewWillApear

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    _ytWebView.delegate = self;
    _ytWebView.allowsLinkPreview = YES; 
    NSURL *url = [NSURL URLWithString:@"https://www.youtube.com"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    [_ytWebView loadRequest:request];

}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试在主线程上运行它:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    _ytWebView.delegate = self;
    _ytWebView.allowsLinkPreview = YES; 
    NSURL *url = [NSURL URLWithString:@"https://www.youtube.com"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
dispatch_async(dispatch_get_main_queue(), ^{
    [_ytWebView loadRequest:request];
});
}