iOS UIWebView在尝试请求url时崩溃

我有以下错误,

  Assertion failed: (stream != NULL), function cb_spdylay_on_stream_close, file /SourceCache/CFNetwork_Sim/CFNetwork-711.1.12/SPDY/SPDYConnection.cpp, line 1775.

当试图使用代码打开链接时,

 - (void)viewDidLoad 
{
   [super viewDidLoad];
   [self.webV loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://drive.google.com/file/d/0B_FNaB0Xf3wVRVg3UVhaLWpPclU/view"]]];
}

这个错误在3天之前没有发生


我也遇到了这个问题。 我知道这并没有什么帮助,但是它在访问某些服务器时看起来像是一个iOS 8+错误。

从Drive访问资源时我也看到了这一点,所以最近他们可能会更改某些内容?

信息是多余的,但这是我基于我的结论。

编辑:

我还没有机会对此进行测试,但我目前的理论是,可以通过迁移到iOS 8.x +视图的基于WebKit的视图来解决此问题。 我希望能在一两天内得到一些时间来测试这个理论。 之后我会在这里发布我的结果。

新编辑:

我只是测试用WKWebView打开相同的URL。 好消息是它没有崩溃。 坏消息是我得到一个错误:

Error Domain=WebKitErrorDomain Code=300 "WebKit encountered an internal error"

不是非常有帮助,苹果。 我仍在研究,但没有更多的运气。


有2个解决方案。

  • 移至WKWebView:适用于iOS 8+
  • 添加自定义UserAgent
  • 使用此示例UserAgent:

    Mozilla / 5.0 AppleWebKit / 600.5.17版本/ 8.0.5 Safari / 600.5.17

    NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 AppleWebKit/600.5.17 Version/8.0.5 Safari/600.5.17", @"UserAgent", nil];
    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
    

    这是关于欺骗

    有些网站会将不同的内容提供给需要相同页面的不同程序。 在极端情况下,网站可能完全拒绝某些程序的访问。 发生这种情况时,您可以尝试通过“欺骗”作为另一个浏览器访问该网站。

    在我的博客上查看详细信息:http://trinnguyen.com/cocoa-spdy-issue-fixed-for-webview/


    我们在iOS 8.x上发生崩溃:

        CFNetwork 0x0000000184574058 cb_spdylay_on_stream_close + 192
    

    看来,在iOS 9 Beta 5和iOS 7.1中,它工作得很好。

    链接地址: http://www.djcxy.com/p/28867.html

    上一篇: iOS UIWebView crashes when trying to request url

    下一篇: Can a regular expression itself be parsed with a regular expression?