监听iPhone的通话状态之---CoreTelephony.framework
近期在做一個(gè)網(wǎng)絡(luò)電話會(huì)議,需要判斷手機(jī)的通話狀態(tài),通過(guò)在網(wǎng)上查找資料找到一個(gè)蘋(píng)果私有框架,下面簡(jiǎn)單介紹如何使用:
1,要在項(xiàng)目中添加CoreTelephony.framework這個(gè)框架,怎么添加如下圖:
點(diǎn)擊“+”,添加即可;
2,在你需要用到該功能的class中,導(dǎo)入如下兩個(gè)頭文件
#import <CoreTelephony/CTCallCenter.h>
#import <CoreTelephony/CTCall.h>
3,使用代碼如下:
??? CTCallCenter *center = [[CTCallCenter alloc] init];
??? center.callEventHandler = ^(CTCall *call){
??????? //block回調(diào)
??????? 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---來(lái)電中(未接起)");
??????? }else if (call.callState ==CTCallStateDialing){
??????????? NSLog(@"call is dialing");
??????? }else{
??????????? NSLog(@"Nothing is done");
??????? }
?????? ?
??? };
進(jìn)行初始化完后,就可以測(cè)試?yán)病=o被測(cè)試的手機(jī)打電話,就會(huì)執(zhí)行^(CTCall *call)回調(diào)中的代碼,通過(guò)[call description]可以看出手機(jī)通話的各種狀態(tài)。
特別注意,這是iOS的私有API,不能上線AppStore會(huì)被拒;而且在項(xiàng)目中定義全局屬性變量(@property (nonatomic,retain)CTCallCenter * center;)編譯也不會(huì)通過(guò)!!!!
希望對(duì)大家有用,哈哈哈!
轉(zhuǎn)載于:https://www.cnblogs.com/pangbin/p/5425049.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的监听iPhone的通话状态之---CoreTelephony.framework的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 分页实现
- 下一篇: js实现新闻滚动-单行滚动或者多行滚动