iOS10 Callkit框架整合总结

前不久苹果推出的callkit framework简直就是voip类应用的福音啊,一下把应用的体验提升到了系统级别的高度,加上之前推出的pushkit,形成了一套完整的voip解决方案。正好我们的产品就是一个类voip应用,当然要把callkit加进去,不过callkit刚刚推出,网上的资料实在是少,甚至连官方的api文档里都是大片空白,下面记录一下我对整合callkit的一些总结与理解,也算丰富一下网上的相关资料吧。

一、嵌入后效果

首先,先对Callkit框架嵌入后的实际使用效果有个直观的概念,可以使用手机qq中的qq电话功能(qq已经做了Callkit的框架嵌入)。拨叫、被叫的等业务自己尝试几次,可以发现:

呼出时:直接在qq应用内触发,没有系统电话界面的显示,整个通话过程中的操作都是在qq应用内部完成的,但是通话结束后,系统通话记录中会出现此次对应的通话记录。

被叫时:会显示出系统的电话接听界面,整个通话过程中的操作都可以借助系统通话界面完成,双击home键,可以看到qq应用被启动了,并跳转到了接听界面,用户可以随意切换,通话过程中操作既可以使用系统界面完成,也可以使用qq应用内接听界面完成,最后通话结束后,系统通话记录中会多出此次对应的通话记录。

二、核心类

callkit框架主要围绕的就是CXProvider以及CXCallController两个核心类

关于CXProvider、CXCallController,有文章里是这么描述的:

CXProvider类主要负责 系统->程序方向 的信息、状态传递

CXCallController类主要负责 程序->系统方向的 信息、状态传递

这种描述并没有错误,但是却会让我在有些地方产生困惑,下文我会提到我的困惑,并尝试给出我的理解

三、流程示例

注:不同app的具体实现肯定是各不相同,但会话建立的整体流程应该都是大同小异的,下文的示例是依据我们app的实现写的,看的时候,不要太过纠结于细节或个别环节的差异,应该从整体流程上去体会callkit框架嵌入后带来的变化,最后再结合自己app的实际情况,去做自己的嵌入实现

1.被叫流程

未加入callkit前:

服务器通知app有来电->app显示接听界面->选择接听,进入app通话界面,应答服务器,建立话音通道->通话->挂断电话或被对方挂断 

加入callkit框架后:

服务器通知app有来电->调用CXProvider的reportNewIncomingCallWithUUID方法告知系统有来电,系统显示出系统接听界面->选择接听,系统回调performAnswerCallAction,进入app通话界面->系统通知 audiosession可用didActivateAudioSession->应答服务器,建立话音通道->通话->挂断电话或被对方挂断 

主要区别:

1.未加入callkit前,接听界面是app提供的,整个流程都掌控在app内部;加入后,首先要调用reportNewIncomingCallWithUUID通知系统有来电,让系统显示出系统接听界面。
2.加入callkit后,用户在系统接听界面选择接听后,不能立即建立话音通道,需要等待didActivateAudioSession的回调

被叫流程代码示例

(1)app调用reportNewIncomingCallWithUUID告知系统有来电,系统显示出系统接听界面 

    CXCallUpdate *callUpdate = [[CXCallUpdate alloc] init];
    CXHandle *handle = [[CXHandle alloc] initWithType:CXHandleTypePhoneNumber value:callInfo.phoneNum];
    callU
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: iOS微信CallKit版的IPA文件是专门为iOS系统设计的一种安装包格式,用于在iPhone上安装微信CallKit版本的应用程序。CallKit是苹果公司推出的一种开发框架,可以使应用程序与iOS系统的电话应用有更好的集成,提供更流畅的通话体验。 通过安装iOS微信CallKit版的IPA文件,用户可以在iPhone上使用微信进行语音通话,并享受到CallKit的诸多优势。例如,CallKit可以将微信通话呼叫集成到iOS系统的电话应用中,使得微信通话可以像普通电话通话一样方便使用。同时,CallKit还能够将来电号码与微信联系人匹配,方便用户识别来电身份,提高通话的便利性和安全性。 要安装iOS微信CallKit版的IPA文件,首先需要确保iPhone已经越狱。接下来,可以通过iTunes或其他第三方软件将IPA文件导入到iPhone中,并在iPhone上进行安装。安装完成后,用户可以在iPhone的主屏幕上找到微信CallKit应用的图标,点击即可打开应用程序。 总之,iOS微信CallKit版的IPA文件是一种用于安装微信CallKit版本应用程序的文件格式,可以在iPhone上使用,提供更流畅的语音通话体验,将微信通话与iOS系统电话应用更好地集成,提高通话的便捷性和安全性。 ### 回答2: iOS微信CallKit版的IPA文件是一种针对iOS操作系统的应用程序安装包文件。它包含了微信应用程序的所有内容,以便在iPhone或iPad设备上进行安装和使用。 CallKit是苹果公司提供的一项技术,可以将通讯应用程序集成到iOS操作系统的电话功能中。通过将微信与CallKit集成,用户可以在使用微信进行语音通话时,享受到更好的通话体验、更稳定的网络连接以及更全面的电话功能。 在安装iOS微信CallKit版的IPA文件之前,需要确保设备已经越狱或者使用第三方安装软件进行安装。然后,可以通过将设备连接到计算机并使用iTunes或其他应用程序管理工具进行安装。 安装完成后,用户可以通过点击微信应用程序图标来启动微信CallKit版。与普通的微信应用程序相比,CallKit版提供了更强大的电话功能,如拨号、接听来电、快速拨号等。在进行语音通话时,用户可以享受到更稳定的网络连接,以及与正常电话通话相似的体验。 总之,iOS微信CallKit版的IPA文件是一种用于安装和使用微信应用程序的文件,它集成了CallKit技术,提供更强大的电话功能和更好的通话体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值