使用CTCall需要导入CoreTelephony.framework框架。

CTCall的基本使用

(1)初始化call

CFStringRef number = CFSTR("15555555555");
CTCallRef call = CTCallDial(number);// 创建并拨号
...
CTCallHold(call);// 保持通话
...
CTCallResume(call);// 恢复通话
...
CTCallDisconnect(call);// 结束通话

注意:传给CTCallDial方法的参数,必须是规范化的电话号码。如:+1 (555) 555-5555 规范化后为 15555555555。
那么如何获取规范化的号码呢:你可以使用 CPPhoneNumberCopyNormalized方法来规范化一个电话号码。

(2)获取通话记录使用 _CTCallCopyAllCalls 方法获取所有的通话记录,这个列表中的每个元素都是CTCall。CFArrayRef calls = _CTCallCopyAllCalls();NSLog(@"Calls: %@", calls);

CFRelease(calls);

(3)补充CPPhoneNumber
上文提到过,在创建CTCall的时候,传进去的参数必须是规范化的电话号码。那么用于处理电话号码的东东就是CPPhoneNumber啦。现在来介绍下CPPhoneNumber的功能和使用。
CPPhoneNumber的功能使用最多的就是规范化电话号码和比较两个电话号码。
  <1>规范化电话号码:CPPhoneNumberCopyNormalized 该方法返回一个规范化的号码copy
extern "C" char *CPPhoneNumberCopyNormalized(const char* number);
  char *pn = CPPhoneNumberCopyNormalized("+1 (555) 555-5555");
  printf("%s\n", pn); // 15555555555
  free(pn);
   <2>比较两个号码:CPPhoneNumbersEqual 该方法会把传进来的两个号码自动格式化后,再进行比较,相同为真,不同为假。国家代码这个参数,在两个电话号码里面有不包含国家代码的时候,需要额外提供一个。
  extern "C" CFStringRef CPPhoneNumberCopyHomeCountryCode();
  extern "C" BOOL CPPhoneNumbersEqual(const char* number1, const char* number2, CFStringRef country);
  BOOL equal = CPPhoneNumbersEqual("+49302270", "0302270", CPPhoneNumberCopyHomeCountryCode()); // 如果连个号码都是+49(德国)的,那么这两个号码相同,返回yes。
 
 

最新文章

  1. Oracle_R12C_安装注意点_Win64_exectask
  2. Linux下VirtualBox启动物理硬盘上已安装的Window 8系统
  3. maven操作
  4. Linux开发cocos2dx程序环境搭建
  5. AngularJs学习笔记1——入门知识
  6. 前端--关于CSS盒模型
  7. COB(Chip On Board) 工艺技术
  8. 【Spark2.0源码学习】-1.概述
  9. 消除ExtJS6的extjs-trila字样
  10. Java集合图谱
  11. U盘、移动硬盘等弹出 “文件或目录损坏且无法读取” 实测解决办法
  12. 经典DFS问题实践
  13. python中的type
  14. mysql数据库主从同步读写分离(一)主从同步
  15. JAVA poi 帮助类
  16. WAMP运行分析
  17. Delphi XE5 for Android (六)
  18. Git学习 之 安装
  19. Kubernetes 1.5 配置dns
  20. 将app现有的icon转化成圆角icon

热门文章

  1. c语言汇总1
  2. k8s控制器资源
  3. 微信小程序入门到精通[更新版]
  4. 每日一道 LeetCode (48):最长回文子串
  5. breakpad系列(1)——起步
  6. 搜索引擎学习(一)初识Lucene
  7. Hibernate4.3 QBC查询
  8. Centos-修改文件访问和修改时间-touch
  9. Python练习题 013:求解a+aa+aaa……
  10. OpenCV 中Scalar