监听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
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的监听iPhone的通话状态之---CoreTelephony.framework的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分页实现
- 下一篇: js实现新闻滚动-单行滚动或者多行滚动