关于iPhone上电话与短信相关功能,做一个简单总结:

使用公开SDK能实现的功能:

(1)获取和操作通讯录。使用函数 ABAddressBookRequestAccessWithCompletion 、ABAddressBookCopyArrayOfAllPeople等,需要用户点击按钮确认。

(2)获取电话状态     使用类CTCallCenter可以得到通话状态(呼入、呼出、挂断,运营商等,无法得到呼入呼出电话号码),前后台时事件略有不同

(3)获取运营商及网络信息

          使用类CTCarrier CTTelephonyNetworkInfo

(4)拨打电话

[[UIApplication sharedApplication] openURL:@"tel://88888]

(5)调用发送短信的界面

方法一
          [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]]; 只能设定发送号码
        方法二 使用 MFMessageComposeViewController 可以设定号码和内容,但不能自定义界面, 必须由用户点击确认发送,不能后台发送
使用

需要使用非公开SDK或者越狱才能实现的功能

之所以将非公开SDK和越狱区分开,是因为概念有些差异。有些私有API即使不越狱,在有证书的情况下,也是可以在真机上运行的。而有些功能,必须在越狱的情况下,才能有权限执行,没有越狱的情况下,有证书也无法运行。

(1)获取电话号码

CTSettingCopyMyPhoneNumber  私有API,不需要越狱
     (2) 获取通话记录和短信内容
   
          通话记录 读取数据库/private/var/root/Library/CallHistory/call_history.db 需要越狱

(3) 获取收到短信事件
        CTTelephonyCenterAddObserver 监听事件  私有API,不需要越狱

还有其他N多功能,越狱后都能实现 :)

iPhone电话与短信相关代码小结的更多相关文章

  1. IOS中调用系统的电话、短信、邮件、浏览功能

    iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...

  2. iOS通过openURL打开原生应用与页面(包括电话,短信,safari等)

    [[UIApplication sharedApplication] openURL:url];通过给url不同的值,可以实现调用系统自带 电话/短信/邮箱/浏览器/... 1.调用 电话phone[ ...

  3. Android-读取操作系统通话记录并/拨打电话/发送短信/复制号码到拨号盘

    apps目录的contacts应用(有读取通话记录功能),是访问provider目录的provider.contacts应用(有暴露通话记录),所以要阅读Android操作系统源码-->pack ...

  4. Arduino+sim800C家居安防火灾报警 拨打电话 发送短信例程程序

    家居安防报警器,参考程序. 火灾报警 涉及用sim800c发短信,拨打电话通知. 接线: Sim800c 3.3V -> Arduino 3.3V Sim800c GND -> Ardui ...

  5. php短信接口代码

    这篇文章主要为大家详细介绍了php短信接口代码,php短信发送.php批量发送.php获取余额等代码,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内 ...

  6. react-native-communications 电话、短信、邮件、浏览器

    第一种方法:Linking:调用系统的电话.短信.邮件.浏览器等功能 Linking.canOpenURL(this.props.url).then(supported => { if (!su ...

  7. Android面试收集录 电话、短信和联系人、多媒体技术

    1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...

  8. Mac OS X 10.10优胜美地怎样完美接管iphone上的电话和短信

    自从今年苹果第一次的公布会上毛猫就特别注意这个功能.感觉特别Cool,特别方便.但直到今天毛猫才第一次成功測试出这个功能呀.尽管handoff功能还未測出来,可是认为在mac上发短信和打电话也已经足够 ...

  9. Mac OS X 10.10优胜美地如何完美接管iphone上的电话和短信

    自从今年苹果第一次的发布会上毛猫就特别注意这个功能,感觉特别Cool,特别方便.但直到今天毛猫才第一次成功测试出这个功能呀!虽然handoff功能还未测出来,但是觉得在mac上发短信和打电话也已经足够 ...

随机推荐

  1. org/apache/curator/RetryPolicy at com.alibaba.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.connect(CuratorZookeeperTransporter.java:26)

    使用dubbo服务,启动项目报错: org/apache/curator/RetryPolicy at com.alibaba.dubbo.remoting.zookeeper.curator.Cur ...

  2. get请求utf-8解码

    package utils;import java.io.UnsupportedEncodingException;import java.net.URLDecoder; /*** <p> ...

  3. 【430】BST and Splay Tree

    参考:Hello, Splay! 目录: 1. Binary Search Tree 2. Splay Tree

  4. 多个wav音频文件合并(连接)成一个文件

    场景:一段声音从浏览器麦克风缓冲上一段一段发给服务器,按照时间戳生成很多文件. 目的:把他们按时间顺序连到一个时间轴上. 命令如下: ffmpeg -f concat -i list.txt out. ...

  5. DevExpress v18.1 下载和教程文档

    http://www.zdfans.com/html/18682.html 教程文档 https://blog.csdn.net/AABBbaby/article/details/81094482 下 ...

  6. 【CSS3练习】3D盒子制作

    先发个3D盒子最终效果图 在线效果预览:http://dtdxrk.github.io/game/css3-demo/box-3d.html 制作步骤1:创建基本结构 分布把6个面定义到3×3的画布上 ...

  7. tcpreplay使用介绍

    安装 brew install tcpreplay yum install tcpreplay tcpreplay 回放 tcpreplay is a tool for replaying netwo ...

  8. PHP比较两个版本的方法

    PHP比较两个版本的方法 写app接口经常要用到 PHP接口的版本和app里面的版本做比较 如果app版本低于接口版本 那么就要提示他升级 <pre><?php/** * 版本处理类 ...

  9. 在Ubuntu下安装qt

    安装qt前的准备: 安装基础开发包,主要gcc,g++等: sudo apt-get install build-essential 1. 使用qt-opensource-linux-x86-5.5. ...

  10. cuda-convnet在Ubuntu12.04+CUDA5.5下的配置

    deep learning近年来非常之火,尤其是在IMAGENET上的识别效果更是惊呆了小伙伴,其所用的Hinton的学生编写的cuda-convet代码早已公开,但是一直没有时间去仔细研究,最近趁着 ...