如何使用私有API来阻止iOS应用程序中的传入呼叫?

Sim*_*iwi 15 iphone ios core-telephony

我希望能够有选择地阻止我正在编写的iOS应用程序中的传入呼叫.这是供个人使用,而不是App Store,所以我可以使用私有API来完成此任务.

我最近遇到了核心电话框架.有没有办法使用这个框架来阻止调用?如果没有,我可以使用哪些私有API来执行此操作?

dkz*_*kzm 36

你确定不是吗?http://tech.ruimaninfo.com/?p=83上的代码示例演示了如何执行此类操作.SDK中的核心电话标头不完整.当然这意味着没有app store这是我基于我链接的示例的代码片段

if ([str1 isEqualToString:@"kCTCallIdentificationChangeNotification"])
{
    NSDictionary *info = (__bridge NSDictionary *)userInfo;
    CTCall2 *call = (__bridge CTCall *)[info objectForKey:@"kCTCall"];
    NSString *caller = CTCallCopyAddress(NULL, call);
    NSLog(@"Caller %@",caller);
    if ([caller isEqualToString:@"+1555665753"])
    {
       //disconnect this call
       CTCallDisconnect(call);

}
Run Code Online (Sandbox Code Playgroud)

需要额外的定义:

typedef struct __CTCall CTCall;
extern NSString *CTCallCopyAddress(void*, CTCall *);
extern void CTCallDisconnect(CTCall*);
Run Code Online (Sandbox Code Playgroud)

你需要监控电话中心的回调(参见链接示例)我在iOS5设备上测试了这个片段