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上发短信和打电话也已经足够 ...
随机推荐
- 阿里重磅开源在线分析诊断工具Arthas(阿尔萨斯)
github地址: Arthas English version goes here. Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Art ...
- 我非要捅穿这 Neutron(二)上层资源模型篇
目录 文章目录 目录 Neutron 的资源模型 Network 运营商网络和租户网络 创建运营商网络 创建租户网络 创建外部网络 Network 小结 Subnet IP 核心网络服务 Subnet ...
- BIO
===============================================================BIO01================================ ...
- yii2 HeadersAlreadySentException 报错 解决方案
报错如下: An Error occurred while handling another error: exception Stack trace: # /xxxx/xxxx/vendor/yi ...
- web端自动化——Python的smtplib发送电子邮件
SMTP (Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. Python的smtplib模块提 ...
- VMware虚拟机及Linux安装
VMware虚拟机安装指南:http://bbs.luobotou.org/thread-5750-1-1.html Linux系统各发行版镜像下载地址:http://www.linuxidc.com ...
- shell学习及脚步编写
目录: shell基础变量逻辑运算符 scp基础用法脚本 while+for+case基础用法脚本 内核优化脚本 自动修改本机ip脚本 for+case 查询日志脚本 一键yum安装lamp脚本 源码 ...
- date.toLocaleString()的替换
Date date = new Date(); System.out.println("前:" + date.toLocaleString()); SimpleDateFormat ...
- PHP比较两个版本的方法
PHP比较两个版本的方法 写app接口经常要用到 PHP接口的版本和app里面的版本做比较 如果app版本低于接口版本 那么就要提示他升级 <pre><?php/** * 版本处理类 ...
- mac install azure-cli
安装 CLI 时,可以先更新 brew 存储库信息,然后运行 install 命令: brew update && brew install azure-cli 更新: brew up ...