监听iPhone的通话状态之---CoreTelephony.framework

近期在做一个网络电话会议,需要判断手机的通话状态,通过在网上查找资料找到一个苹果私有框架,下面简单介绍如何使用:

1,要在项目中添加CoreTelephony.framework这个框架,怎么添加如下图:

点击“+”,添加即可;

2,在你需要用到该功能的class中,导入如下两个头文件

#import <CoreTelephony/CTCallCenter.h>
#import <CoreTelephony/CTCall.h>

3,使用代码如下:

    CTCallCenter *center = [[CTCallCenter alloc] init];
    center.callEventHandler = ^(CTCall *call){
        //block回调
        NSLog(@"----->>>>Call State : %@",[call description]);
        
        if (call.callState == CTCallStateDisconnected){
            NSLog(@"Call has been disconnected---挂断"); 
        }else if (call.callState == CTCallStateConnected){
            NSLog(@"Call has just been connected---通话中");
        }else if(call.callState == CTCallStateIncoming){
            NSLog(@"Call is incoming---来电中(未接起)");
        }else if (call.callState ==CTCallStateDialing){
            NSLog(@"call is dialing");
        }else{
            NSLog(@"Nothing is done");
        }
        
    };
进行初始化完后,就可以测试啦。给被测试的手机打电话,就会执行^(CTCall *call)回调中的代码,通过[call description]可以看出手机通话的各种状态。

特别注意,这是iOS的私有API,不能上线AppStore会被拒;而且在项目中定义全局属性变量(@property (nonatomic,retain)CTCallCenter * center;)编译也不会通过!!!!

希望对大家有用,哈哈哈!

转载于:https://www.cnblogs.com/pangbin/p/5425049.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值