我构建了在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];
}
任何帮助将不胜感激。
答案 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];
});
}