2014-10-20 84 views
6

我的應用程序在iOS 7和8中大量使用UIWebView。我頻繁發生崩潰報告,影響少量與Web Core相關的用戶。正如其他答案中所建議的,我已經將webview委託設置爲無視圖控制器消失時爲零。不過,我仍然得到無數次死機,如:如何修復UIWebView中的WebCore崩潰?

WebCore::SharedBuffer::clear() 
WebCore::TimerBase::updateHeapIfNeeded(double) 
WebCore::WebVideoFullscreenModelMediaElement::updateForEventName 
WebCore::HTMLMediaElement::seekTimerFired 
WebCore::EventTarget::fireEventListeners 
WebCore::CachedResource::unregisterHandle 
WebCore::CSSFontSelector::~CSSFontSelector() 
WebCore::MediaQueryMatcher::styleResolverChanged 

我有幾千個用戶日常,但得到大概5崩潰,堆棧跟蹤像上面了一天,所以我從來沒有能夠重現。我還能做些什麼來防止UIWebView崩潰?

+0

也許這是有關:https://bugs.webkit.org/show_bug.cgi?id=133366 也許不是...發生在 – nyi 2014-10-21 16:13:44

+1

@Erich我也面臨類似問題的WebCore :: WebVideoFullscreenModelMediaElement :: updateForEventName崩潰問題iOS8上。如果你解決它,請寄給我答案或建議。 – 2014-12-15 06:04:11

+2

也有許多這些奇怪的崩潰。 – 2014-12-16 18:13:30

回答

2

您是否在某些地方使用帶有委託的UIWebView實例?,您是否試圖在視圖控制器或視圖的dealloc方法中刪除委託?

- (void)dealloc 
{ 
    self.webView.delegate = nil; 
} 

無論您是使用ARC還是非ARC,這都非常重要。

+0

是的,如上所述,我委託代理 – Erich 2015-04-28 23:55:14

+0

嗨Erich,如果你知道url或文件,你正試圖加載,是最好的方式複製。如果它是一個URL將響應保存爲文件並嘗試渲染,那麼使用該文件將更容易減少和檢查任何html語法。如果你可以提供文件或網址,我也可以這麼做:)。我在過去使用複雜的HTML頁面崩潰。 – southfox 2015-04-29 12:31:30