2015-09-02 12 views
7

tôi bị lỗi sau,iOS UIWebView bị treo khi cố gắng để yêu cầu url

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

khi cố gắng mở liên kết bằng cách sử dụng mã,

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

lỗi này đã không xảy ra trước đây 3 ngày

+1

bất kỳ giải pháp nào cho điều này? ngay cả khi ứng dụng của tôi gặp sự cố khi cố gắng đăng nhập vào tài khoản google. với lỗi này Xác nhận không thành công: (luồng! = NULL), chức năng cb_spdylay_on_stream_close, tệp /SourceCache/CFNetwork_Sim/CFNetwork-711.4.6/SPDY/SPDYConnection.cpp, dòng 1778. – iDev

+0

không có giải pháp nào cho đến bây giờ – Ali

+0

Tôi đã thực hiện thêm một số nghiên cứu và nghĩ rằng có lẽ việc cập nhật lên WKWebView (thay vì UIWebView) cho iOS 8.x + có thể khắc phục được. Xem ** Chỉnh sửa ** của tôi bên dưới để biết liên kết đến tài liệu. Nếu bạn đã thử điều này, hoặc nếu bạn thử nó và nó không hoạt động, tôi sẽ rất quan tâm. Cảm ơn! – Stoph

Trả lời

2

Tôi cũng gặp phải vấn đề này. Tôi biết nó không giúp được gì nhiều, nhưng có vẻ như đó là lỗi iOS 8+ khi truy cập một số máy chủ nhất định.

Tôi cũng thấy điều này khi truy cập tài nguyên từ Drive, vì vậy có thể họ đã thay đổi điều gì đó gần đây?

Thông tin có đốm, nhưng this is what I'm basing my conclusion on.

EDIT:

tôi đã không có một cơ hội để kiểm tra điều này, nhưng lý thuyết hiện tại của tôi là rằng vấn đề này có thể được cố định bằng cách di chuyển sang sử dụng một WebKit-based view dành cho iOS 8.x + xem. Tôi hy vọng sẽ có thời gian để kiểm tra lý thuyết này trong một hoặc hai ngày tới. Tôi sẽ đăng kết quả của tôi ở đây sau đó.

EDIT MỚI:

tôi chỉ thử nghiệm mở cùng một URL với một WKWebView. Tin tốt là nó không sụp đổ. Tin xấu là tôi gặp lỗi:

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

Không quá hữu ích, Apple. Tôi vẫn đang nghiên cứu, nhưng chưa có thêm may mắn.

+1

Cảm ơn bạn đã giúp đỡ của bạn, tôi nghĩ rằng vấn đề từ ổ đĩa google họ đã thay đổi một số điều – Ali

+0

Một phần của tôi cũng nghĩ như vậy. Điều kỳ lạ duy nhất là tôi vẫn có thể truy cập các tập tin với cùng một URL bằng cách sử dụng UIWebView trong iOS 7 hoặc thông qua Safari thông thường trong iOS 8. Với tổng số thiếu thông tin về những gì có thể gây ra nó, mặc dù, tôi không chắc chắn những gì để làm từ đây. – Stoph

0

Chúng tôi đang nhận được một vụ tai nạn trên iOS 8.x tại địa chỉ:

CFNetwork 0x0000000184574058 cb_spdylay_on_stream_close + 192 

Dường như trong iOS 9 Beta 5 và iOS 7.1 nó đang làm việc hoàn toàn tốt đẹp.

+0

Chỉ có trên iOS 8.x, có giải pháp nào không? – Ali

1

Có 2 giải pháp cho việc này.

  1. Di chuyển đến WKWebView: cho iOS 8+
  2. Thêm Tuỳ chỉnh UserAgent

Sử dụng mẫu này UserAgent:

Mozilla/5.0 AppleWebKit/600.5.17 Version/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]; 

Đó là về Spoofing

Some websites will deliver different content to different programs that ask for the same page. In extreme cases, a website may deny access completely to some programs. When this happens, you can try to gain access to the site by “spoofing” as another browser.

Kiểm tra chi tiết tại blog của tôi: http://trinnguyen.com/cocoa-spdy-issue-fixed-for-webview/

Các vấn đề liên quan