簡體   English   中英

嘗試請求url時iOS UIWebView崩潰

[英]iOS UIWebView crashes when trying to request 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訪問資源時我也看到了這一點,所以他們最近可能會改變一些東西?

信息不穩定,但這是我的結論

編輯:

我還沒有機會對此進行測試,但我目前的理論是,通過遷移到使用基於WebKit的 iOS 8.x +視圖視圖可以解決此問題。 我希望在接下來的一兩天內有時間來測試這個理論。 之后我會在此發布我的結果。

新編輯:

我剛測試用WKWebView打開相同的URL。 好消息是它沒有崩潰。 壞消息是我收到了一個錯誤:

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

Apple並不是非常有幫助。 我還在研究,但還沒有運氣。

有兩個解決方案。

  1. 轉到WKWebView:適用於iOS 8+
  2. 添加自定義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中它運行得非常好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM