我如何从iphone上的来电中获取呼叫者的电话号码

|| 嗨,我想构建一个应用程序,当有来电时它会执行某些操作。但是我认为电话必须在iphone上越狱才能访问执行该操作的类。我想做到这一点,而电话不会越狱。     
已邀请:
不可能。 但是,您可以使用CoreTelephony框架获取诸如呼叫状态(已连接/已断开等)的信息。     
如果您想在通话时进行任何操作,则必须使用以下代码:
CTCallCenter *callCenter; //make it ivar if you are using ARC or handler will be auto-released...
callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler=^(CTCall* call) {
    NSLog(@\"Call id:%@\", call.callID);
    [self callStateChange:call.callState andId:call.callID];
    if (call.callState==CTCallStateDialing) {
       NSLog(@\"Call state:dialing\");
    }
    if (call.callState==CTCallStateIncoming) {
       NSLog(@\"Call state:incoming\");
       //here you lower your speaking volume if you want
    }
    if (call.callState==CTCallStateConnected) {
       NSLog(@\"Call state:connected\");
    }
    if (call.callState==CTCallStateDisconnected) {
       NSLog(@\"Call state:disconnected\");
    }
};
但是当您的应用激活或从后台转为前台时,该方法将起作用。如果应用将杀死或暂停该应用将无法正常工作。首先,您检测呼叫状态,然后立即显示本地通知。并点击查看详细信息,然后再次显示您的应用。但这未经Apple批准,因为它将在后台发送电话。因此可能有风险。     

要回复问题请先登录注册