文档章节

非越狱下私有API实现自动接听电话-笔记

skwaityou
 skwaityou
发布于 2016/11/09 16:39
字数 234
阅读 136
收藏 0

背景:

    在越狱状态下,iOS9及以下版本,均可通过调用动态库的方法,实现电话的拨打、接听、挂机及监听动作。本文拟探寻在非越狱下能否实现。

结论:方法在iOS6.1.4之前非越狱的版本下生效;在iOS7.1.2之后必须要在越狱的状态下起作用,非越狱下失效。

方法:

(一)函数

    void *handle = dlopen(CORETELPATH, RTLD_LAZY);

    CTTelephonyCenterGetDefault = (id (*)())dlsym(handle, "CTTelephonyCenterGetDefault");

    CTTelephonyCenterAddObserver = (void(*)(id,id,CFNotificationCallback,NSString*,void*,int))dlsym(handle,"CTTelephonyCenterAddObserver");

    CTCallCopyAddress = (NSString* (*)(void*, CTCall *))dlsym(handle, "CTCallCopyAddress");

    CTCallDisconnect = (void (*)(CTCall *))dlsym(handle, "CTCallDisconnect");

    CTCallAnswer = (void (*)(CTCall *))dlsym(handle, "CTCallAnswer");

    dlclose(handle);

(二)签名

    需要codesign,内容为com.apple.coretelephony.Calls.allow

原因分析:自从iOS7之后,调用接、挂、打,需要签名受限。App因没有有效地签名方法,导致不起作用。在越狱状态下,功能是能正常起作用的。

关键词:github上CallHandler有类似功能。

 

© 著作权归作者所有

共有 人打赏支持
skwaityou
粉丝 1
博文 4
码字总数 612
作品 0
广州
项目经理
私信 提问
一键转发定制苹果(非越狱版)

基于微信的内置二次开发,详细需求如下:1、一键转发朋友圈、好友相册、陌生人相册的图片、文字、视频、链接2、一键转发语音给好友或者群聊,收藏夹语音、视频可直接发送到对话框3、虚拟定位到...

别让负能量击垮你
2017/11/24
0
0
TelenLiu/WhoCall

WhoCall - 谁CALL我 iOS来电信息语音提醒,无需越狱。(需要iOS 7.0及以上版本。) 骚扰电话预警、来电归属地提醒、联系人姓名播报,这些 有中国特色人性化的电话功能,iOS上也应该有! 功能介...

TelenLiu
2015/02/10
0
0
成本VS用户体验, 服务台互动语音应答(IVR)介绍

在设计服务台语音应答系统时,总体电话坐席数和用户电话被接听前需要等待的时间我们都需要考虑,前者关系到成本,后者则关系到用户体验。 利用IVR(“互动式语音应答”的简称,它可能是为客户...

rickho
2010/11/24
0
0
Android答录机功能的编程实现

最近在做毕业设计,基于android平台, 现在想为软件增添一个自动答录的功能,希望大家提供相关的学习内容和示例代码。 具体需求是:打电话打进来,如果在设定的秒数内给来电没有被接听,那么...

万万没想到
2015/03/24
534
1
IT服务台来电分配技术——ACD介绍

上篇我对电话语音系统与服务台的关系作了介绍,本文则简单介绍服务台电话语音系统里的来电分配(ACD)技术。 ACD是“自动呼叫分配器”的缩写。它的目的是让一组服务台坐席共享一个呼入来电,...

rickho
2010/10/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 风扇写着先生请自爱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蚂蚁哈哈哈 :分享陈奕迅的单曲《落花流水》 《落花流水》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @车谷 :我发现每天上班都好困 ...

小小编辑
53分钟前
6
0
centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
8
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部