2016-01-20 76 views
6

我有一個WKWebView,而我通過-[WKWebView evaluateJavaScript:completionHandler:]定期發送的javascript,Web視圖返回以下錯誤:什麼是WKErrorWebViewInvalidated?

Error Domain=WKErrorDomain Code=3 "The WKWebView was invalidated" UserInfo={NSLocalizedDescription=The WKWebView was invalidated

相應WKError似乎WKErrorWebViewInvalidated,但WKError.h似乎只說以下有關此錯誤:

@constant WKErrorWebViewInvalidated    Indicates that the WKWebView was invalidated. 

有一次,我收到此錯誤從Web視圖我無法再執行任何後續的JavaScript和我需要拋出Web視圖路程,創建一個新的。我在網上搜索了這個錯誤的更多細節,但一直沒有找到任何實質內容。有人可以幫助解釋這個錯誤意味着什麼,以及如何調試可能導致它的原因。謝謝。

回答

0

這意味着網頁內容處理已經死亡。這是運行JavaScript並執行WKWebView的網絡部分的過程。

不幸的是,這個過程是由WebKit管理,你對它有零控制。因此,如果您的設備在內存上運行不足,會發生非常好的變化,它會隨機殺死一個Web內容進程。那是當你收到WKErrorWebViewInvalidated錯誤。

+4

這是我的理解,如果Web內容進程死亡,您會收到一個'WKErrorWebContentProcessTerminated'錯誤,並且如果您運行的是iOS 9+,則會得到一個'webViewWebContentProcessDidTerminate:'回調,我都沒有收到這個錯誤。這讓我想'WKErrorWebViewInvalidated'指的是與死亡過程不同的東西。 –

相關問題