不是CallKit!微信新通话功能大揭秘

山已高水已长 2025-01-23 09:34:27

前几天陆续有 iPhone 网友发现自己的微信内测了期待已久的 CallKit 功能,根据我当时的统计,大约有 13% 的 iOS 用户已经获取到了内测资格。

不过这次微信的 CallKit 功能似乎外观不太一样,因为以往的微信 CallKit,来电是可以全屏显示,跟接听系统电话没什么区别:

并且在电话 APP 里面,也可以看到对应的记录:

这次微信的 CallKit 功能采用顶部弹窗的形式展示,这种效果跟其他 VoIP 软件确实不太一样:

那么微信的这个弹窗通话功能,到底是不是 CallKit?今天 LINXU DO 的网友「黛玉拔柳」解析最新微信的 ipa 安装包之后发现:

关于近期微信新增的 “语音和视频通话用系统接听” 经核实调用的 iOS17+ 的 LiveCommunicationKit 新 API 而非CallKit。好消息是此 API 的调用无须类似 CallKit 那样的特殊权限 不过这个 API 并不会像 CallKit 那样锁屏状态会全屏弹出,也不会在 iOS 通讯录留下通话痕迹。

为此我简单查询了下关于 LiveCommunicationKit 这个苹果框架:

LiveCommunicationKit 是苹果在 2023 年推出的一个实时通信框架,它的功能更广泛,目标是支持开发者在应用中快速集成实时互动体验。相比 CallKit,它不仅限于通话功能,还支持更丰富的实时通信场景。

借助 AI 软件制作了一张 CallKit 和 LiveCommunicationKit 的对比表格:

总结就是:如果开发的应用仅需要简单的语音/视频通话功能,并且希望与 iOS 的系统电话界面深度集成,选择 CallKit。如果你需要 更复杂的实时互动功能(如多人会议、屏幕共享、实时协作等),选择 LiveCommunicationKit。

不过微信这种纯语音视频聊天的软件,其实用 CallKit 似乎更合适,但微信选择 LiveCommunicationKit 恐怕还是政策的原因,毕竟有 CallKit 的微信就跟打电话没啥区别,运营商肯定是不愿看到这个场面。其实早在去年十二月份,苹果工程师在回答国内开发者不能使用 CallKit 的时候,就建议使用 LiveCommunicationKit:

有意思的是,微信在之前的开关选项是用系统电话接听:

而现在已经有部分网友发现,这个选项变成了用弹窗快捷接听:

综上所述,iOS 微信开放 CallKit 功能应该是个美丽的误解,只是微信为了更好的通话体验不得已选择了苹果另一个框架 LiveCommunicationKit,但客观来说后者的体验肯定没有 CallKit 这么好。至于微信什么时候能够真正用上 CallKit,应该还是需要等到政策松绑。

0 阅读:0