iOS 的WKWebview加載白屏問題屹堰。xcode的報錯提示是
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
對于這個問題
1 > 首先是確定網(wǎng)頁本身是可以加載的, 用電腦打開網(wǎng)頁
2 > 用電腦打開是可以的哪亿,把鏈接放到微信奕巍,看微信能不能打開
3> 微信能打開那就是自己瀏覽器的問題,要做下處理,這個一般就是網(wǎng)頁太大,導致內存緊張導致的。
在 UIWebView 上當內存占用太大的時候,App Process 會 crash堰怨;而在 WKWebView 上當總體的內存占用比較大的時候,WebContent Process 會 crash蛇摸,從而出現(xiàn)白屏現(xiàn)象备图。
- (void)webViewWebContentProcessDidTerminate:(WKWebView *)webView API_AVAILABLE(macosx(10.11), ios(9.0));
當 WKWebView 總體內存占用過大,頁面即將白屏的時候赶袄,系統(tǒng)會調用上面的回調函數(shù)揽涮,我們在該函數(shù)里執(zhí)行[webView reload](這個時候 webView.URL 取值尚不為 nil)解決白屏問題。在一些高內存消耗的頁面可能會頻繁刷新當前頁面饿肺,H5側也要做相應的適配操作蒋困。
并不是所有H5頁面白屏的時候都會調用上面的回調函數(shù),比如敬辣,最近遇到在一個高內存消耗的H5頁面上 present 系統(tǒng)相機雪标,拍照完畢后返回原來頁面的時候出現(xiàn)白屏現(xiàn)象(拍照過程消耗了大量內存,導致內存緊張溉跃,WebContent Process 被系統(tǒng)掛起)村刨,但上面的回調函數(shù)并沒有被調用。在WKWebView白屏的時候喊积,另一種現(xiàn)象是 webView.titile 會被置空, 因此烹困,可以在 viewWillAppear 的時候檢測 webView.title 是否為空來 reload 頁面。
4> 微信等第三方瀏覽器也不能加載的網(wǎng)頁乾吻,return 前端開發(fā)工程師需要調整網(wǎng)頁了