2014-10-06 16 views
7

我已經被偶爾扔我開始看到以下異常的應用程序,它依賴於UIWebViews中的一些畫面,但開始在iOS 8:WebKit的iOS上的8拋出異常的調用setBeingRemoved:

的WebKit丟棄在web視圖未捕獲的異常:willRemoveScrollingLayer:withContentsLayer:forNode:委託:<NSInvalidArgumentException> - [WebActionDisablingCALayerDelegate setBeingRemoved:]:無法識別的選擇發送到實例(......)

這通常響應發生點擊webview上的一個按鈕或鏈接(Objective-C一側沒有任何其他功能),之後webview中的大部分功能都將被打破(鏈接不可點擊等)。

我已經看到至少有一個其他問題涉及此錯誤消息,但尚未得出確鑿的答案。

有沒有人遇到這個問題,並找出了什麼是錯的/是什麼原因造成的? 它似乎完全取決於HTML內容,這意味着拋出此異常的事實是iOS 8的一個缺陷。

+0

謝謝你的幫助Zaph。 – 2014-10-06 13:28:08

+0

錯誤信息_is_ complete(除非你指的是(...),它是變量的地址)。關於代碼:我沒有包括它的原因是因爲這取決於HTML,HTML上的任何內容都不會導致Objective-C這種異常。我看到了其他投訴,這個異常肯定有不同的HTML源代碼,這裏的要點是這個錯誤不會在iOS 7上發生,只會發生在iOS 8上。 – 2014-10-06 13:31:07

+0

您是否設置了異常斷點? – zaph 2014-10-06 13:48:21

回答

3

原來,這個錯誤是由於在我的HTML IFRAME中使用以下CSS屬性的原因造成的:

-webkit-overflow-scrolling: touch; 

刪除它(我們現在正在尋找一個合適的替代)和UIWebView的不再崩潰。

+1

不知道你是否仍在尋找,但我只是發佈了一個修復,我可以保留這些風格 – tommybananas 2015-05-19 22:05:03

+0

好吧,我在加載谷歌搜索結果時發生此崩潰。我無法更改Google CSS,因此我想知道是否有任何方法可以防止崩潰。 – Sundraw 2015-07-21 15:19:41

+0

@Sundraw你找到了解決方案嗎?加載Google搜索結果時出現此錯誤 – Ushan87 2015-10-24 18:24:22

1

我把-webkit-transform: translateZ(0px)放在我的body元素上。似乎解決了這個問題,我可以保留-webkit-overflow-scrolling樣式。

而且在這裏看到:https://stackoverflow.com/a/26806642/580487

+0

希望我早些時候知道...如果只有iOS8 UIWebView會像Safari一樣工作! – 2015-09-05 16:18:12

+0

我有這個錯誤的兩個原因。這是其中之一。另一個是多個'-webkit-overflow-scrolling:touch'樣式在同一個HTML中。這個解決方案讓我保留其中一個 – 2016-06-14 19:52:32

3

可以使用WKWebView而非UIWebView的。 (它首次被包含在iOS 8中)。我試過了,似乎它沒有得到這個錯誤。

如果目標設備是預-IOS 8,可以實現回退過程爲加載的UIWebView或WKWebView,here you are外的所述盒的實施

+0

謝謝你讓我知道,但不幸的是我仍然堅持使用UIWebView(我使用的一些功能在WKWebView中仍然不可用)。 – 2016-08-17 11:06:29

0

我改變填充:0 0 16px的26%;剩餘:25%;它適用於我

相關問題