關於WKWebview網頁載入不成功,提示 Could not signal service com.apple.WebKit.WebContent: 113...
遇到這個問題的時候,我是一臉懵的。
我把網址放到Mac的Safari和iOS的Safari,以及微信,qq的瀏覽器中全都是可以的,唯獨放到我工程中的WKWebView中,就載入了一個標題,停下來了…Why?
後來,我無意中發現,網頁載入失敗後XCode給出了一個提示:
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
於是圍繞著這個log,我搜索了半天,嘗試了不少方法,但還是無功而返。
接著,我帶著問題到開發群裡問了問,有人說,是否是iOS11 新提供的一些WKWebview的介面或者屬性導致的問題呢?我就去把今年大會上的pdf翻出來看,也確實看到了幾個新東西:
WKHTTPCookieStore WKContentRuleList WKURLSchemeHandler
在工程裡查找了一下,Cookie設定倒是用到了,但是也沒有對頁面載入有影響的,下面兩個沒有使用到。
又一個可能解決途徑被排除了。
這可如何是好,只能又在慢慢找。突然,同事給了我一個地址,說這裡有解決方案,喜出望外:
http://www.cocoachina.com/bbs/read.php?tid-1726060-fpage-3-page-3.html
哇,原來是因為一個原生設定最小字型的問題,預設值為0,我們設定了為9.0
就是這句:
config.preferences.minimumFontSize = 9.0;
我用Safari除錯了一下頁面,發現頁面裡面確實有個地方,字型大小被設定成0了,但是裡面並沒有直接顯示內容,字型大小屬性被內部字型屬性覆蓋了,所以其他瀏覽器都是能夠正常顯示了,而在WKWebview中,網頁載入到那裡 就停下來 卡死了。

9CDFC57F5C0E1D035181E278CE001FBB.jpg
最後,我去掉了所有設定最小字型的相關部分,哈,網頁就能正常載入了。
希望能對遇到相同問題的親們有所幫助。
*相關參考網址: 1.https://devstreaming-cdn.apple.com/videos/wwdc/2017/220ugyk0ejmva/220/220_customized_loading_in_wkwebview.pdf 2.https://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/CreatingRules/CreatingRules.html#//apple_ref/doc/uid/TP40016265-CH2-SW1
對了,對了,即使網頁正常載入,那個XCode的log還會不時地出現…可是沒有影響正常使用…原諒我吧…