iOS15 WebKit::WebPageProxy::handlePreventableTouchEvent crash

苹果爸爸真不省心,每次发版都会带来一些“惊喜”,这不,这次iOS15的体验版本又送大礼来了。一个和点击事件相关的崩溃。相关堆栈如下:

而且量级不小,实在是吓人一跳。随后,我们查看了web源码,发现apple在5月30号修复了这个问题(https://bugs.webkit.org/show_bug.cgi?id=226426),苹果分析这个崩溃和messageHandler的使用+touch事件有关,当webview产生了touch事件,并将touch事件传递给Web Process处理时,webview退出,此时WebPageProxy的pageClient已经销毁变成了空指针,所以,当Web Process通知UI Process 处理结果时 UI Process(即我们的App)会崩溃。具体分析见:https://github.com/WebKit/WebKit/commit/da38a88fc8b26fdb54ca259a62f6cb8b3305ba14

不过这里有个疑虑,苹果分析此bug时认为它和messageHandler有关,但是我注释掉所有的messageHandler的代码还是会崩溃;另外一些没有使用messageHandler的app也发现了此类崩溃。所以,但愿苹果爸爸这个修复可以管用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值