WKWebView崩溃问题解决方案

截图代码如下:

崩溃问题出现在上面标注的地方。

小Tips:

为了获取一些堆栈信息以便于快准狠的定位问题,可以在main函数里:

最终得到一条关键报错:

意思就是WKWebView的这个代理方法被多次调用了。

简单分析一下被多次调用的原因:

1、系统判断这个方法被多次执行,主要是看decisionHandler()是否被多次执行;

2、由于if判断里会执行decisionHandler(),最后一行代码也会执行decisionHandler(),并且self.realDelegate中也会执行decisionHandler(),这就导致了decisionHandler()这个handler可能会被多次执行。

那解决问题的方向就是修改代码保证WKWebView单次LoadRequest只调一次此代理方法~

修改如下:

即保证了单次LoadRequest只执行一次decisionHandler()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容