iOS版微信近期在更新8.0.55版本后,开始大规模灰度测试“语音和视频通话用系统电话接听”功能。开发者Netskao通过逆向工程发现,微信这一功能的实现抛弃了以往的CallKit方案,而是通过调用iOS17.4+的新LiveCommunicationKit接口实现。
AKVll :_% CallKit是苹果公司在iOS 10中推出的开发框架,旨在让第三方应用(如微信、WhatsApp等)的VoIP通话功能深度集成至系统,具有可在锁屏界面直接查看来电显示并进行操作、在通讯录中留下通话记录、适配系统勿扰模式等特性。
LY%`O#i. ?3wEO>u 2018年,微信在6.6版本中引入了CallKit功能,带来与普通电话一致的接听体验,但后期微信中止了大陆地区用户的CallKit功能。
GVT+c@Gx
t0*JinKI CallKit锁屏来电界面
Zb)j2Xgl UwuDs2
t 查询苹果官网文档获悉,微信此次使用的LiveCommunicationKit是苹果公司在iOS 17.4、watchOS 10.4和visionOS 1.1中引入的新框架。该框架同样为开发者提供了VoIP通话的交互接口,甚至和CallKit同样支持将应用程序设置为系统默认通话应用。
kDM\IyM<\ 8-Ik .,} 与CallKit不同的是,LiveCommunicationKit在锁屏状态下不会全屏弹出,也不会在iOS通讯录中留下通话记录。
__\Tv>Y ENwDW#U9 LiveCommunicationKit全场景来电界面
Fa`/i v {O-,JCq/ 值得一提的是,苹果工程师去年12月在开发者论坛中就建议App开发者,在中国大陆用LiveCommunicationKit作为CallKit的替代方案。
0GW(?7ZC LOf0_g/ 以上两者之外,苹果公司在2022年WWDC中还曾推出过另一种通信交互类接口Push to Talk API,旨在为应用开发者提供对讲机式的实时语音通讯功能,能实现即按即说(Press-to-Talk)、按条发送的类对讲机交互,与此次微信更新的界面较为类似,但实际功能上截然不同。
Ti`H?9t sfSM7f 苹果官方演示的Push to Talk界面
[ay~l%x