#iOS问题记录#WKWebView 闪退异常

Posted 千里之行,始于足下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#iOS问题记录#WKWebView 闪退异常相关的知识,希望对你有一定的参考价值。

异常描述:

pointer being freed was not allocated

*** set a breakpoint in malloc_error_break to debug

 

问题描述:

将UIWebView 转成WKWebview后,在UMeng的错误里偶尔会出现几次报错,排查后,定位到WKWebview相关;

但问题只会出现在ios10.0以下的系统。

在模拟器上使用8.1的系统调试确实会有这种异常,

使用malloc_error_break定位,也只能定位到内存释放时出栈异常,没办法继续调试。

 

原因:

通过排除法,发现只要不监听wkwebview.scrollview的delegate,就不会异常;

想起scrollview是strong引用:

@property (nonatomic, readonly, strong) UIScrollView *scrollView;

 

解决方法:

将delegate设置为nil:

- (void) dealloc

{

    if(_mWebViewReport)

     {

        _mWebViewReport.scrollView.delegate=nil;

     }

}

以上是关于#iOS问题记录#WKWebView 闪退异常的主要内容,如果未能解决你的问题,请参考以下文章

Android 捕获全局异常CrashHandler,防止异常闪退,记录异常日志

异常记录——bat批处理闪退

iOS 13 SceneDelegate 上的 WKWebView 警报崩溃

iOS 10.3 WKWebView 访问照片库时崩溃

在 iOS 中 WKWebView 的后台历史显示带有父 URL 的子 URL

WKWebView:应用程序因“NSInternalInconsistencyException”异常而崩溃,因为“未调用传递给 X 的完成处理程序”