iPhone电话与短信相关代码小结
关于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电话与短信相关代码小结的更多相关文章
- IOS中调用系统的电话、短信、邮件、浏览功能
		
iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...
 - iOS通过openURL打开原生应用与页面(包括电话,短信,safari等)
		
[[UIApplication sharedApplication] openURL:url];通过给url不同的值,可以实现调用系统自带 电话/短信/邮箱/浏览器/... 1.调用 电话phone[ ...
 - Android-读取操作系统通话记录并/拨打电话/发送短信/复制号码到拨号盘
		
apps目录的contacts应用(有读取通话记录功能),是访问provider目录的provider.contacts应用(有暴露通话记录),所以要阅读Android操作系统源码-->pack ...
 - Arduino+sim800C家居安防火灾报警 拨打电话 发送短信例程程序
		
家居安防报警器,参考程序. 火灾报警 涉及用sim800c发短信,拨打电话通知. 接线: Sim800c 3.3V -> Arduino 3.3V Sim800c GND -> Ardui ...
 - php短信接口代码
		
这篇文章主要为大家详细介绍了php短信接口代码,php短信发送.php批量发送.php获取余额等代码,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内 ...
 - react-native-communications 电话、短信、邮件、浏览器
		
第一种方法:Linking:调用系统的电话.短信.邮件.浏览器等功能 Linking.canOpenURL(this.props.url).then(supported => { if (!su ...
 - Android面试收集录 电话、短信和联系人、多媒体技术
		
1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...
 - Mac OS X 10.10优胜美地怎样完美接管iphone上的电话和短信
		
自从今年苹果第一次的公布会上毛猫就特别注意这个功能.感觉特别Cool,特别方便.但直到今天毛猫才第一次成功測试出这个功能呀.尽管handoff功能还未測出来,可是认为在mac上发短信和打电话也已经足够 ...
 - Mac OS X 10.10优胜美地如何完美接管iphone上的电话和短信
		
自从今年苹果第一次的发布会上毛猫就特别注意这个功能,感觉特别Cool,特别方便.但直到今天毛猫才第一次成功测试出这个功能呀!虽然handoff功能还未测出来,但是觉得在mac上发短信和打电话也已经足够 ...
 
随机推荐
- 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 ...
 - get请求utf-8解码
			
package utils;import java.io.UnsupportedEncodingException;import java.net.URLDecoder; /*** <p> ...
 - 【430】BST and Splay Tree
			
参考:Hello, Splay! 目录: 1. Binary Search Tree 2. Splay Tree
 - 多个wav音频文件合并(连接)成一个文件
			
场景:一段声音从浏览器麦克风缓冲上一段一段发给服务器,按照时间戳生成很多文件. 目的:把他们按时间顺序连到一个时间轴上. 命令如下: ffmpeg -f concat -i list.txt out. ...
 - DevExpress v18.1 下载和教程文档
			
http://www.zdfans.com/html/18682.html 教程文档 https://blog.csdn.net/AABBbaby/article/details/81094482 下 ...
 - 【CSS3练习】3D盒子制作
			
先发个3D盒子最终效果图 在线效果预览:http://dtdxrk.github.io/game/css3-demo/box-3d.html 制作步骤1:创建基本结构 分布把6个面定义到3×3的画布上 ...
 - tcpreplay使用介绍
			
安装 brew install tcpreplay yum install tcpreplay tcpreplay 回放 tcpreplay is a tool for replaying netwo ...
 - PHP比较两个版本的方法
			
PHP比较两个版本的方法 写app接口经常要用到 PHP接口的版本和app里面的版本做比较 如果app版本低于接口版本 那么就要提示他升级 <pre><?php/** * 版本处理类 ...
 - 在Ubuntu下安装qt
			
安装qt前的准备: 安装基础开发包,主要gcc,g++等: sudo apt-get install build-essential 1. 使用qt-opensource-linux-x86-5.5. ...
 - cuda-convnet在Ubuntu12.04+CUDA5.5下的配置
			
deep learning近年来非常之火,尤其是在IMAGENET上的识别效果更是惊呆了小伙伴,其所用的Hinton的学生编写的cuda-convet代码早已公开,但是一直没有时间去仔细研究,最近趁着 ...