iOS 7替代CTCall?

在我们使用的企业iOS应用程序中

CTCallRef CTCallDial(CFStringRef number); 

从应用程序进行调用(并能够隐藏来电号码

它似乎没有在iOS 7中工作。有API更改吗?

(我完全知道,这是一个私人的API调用,它可以随时更改,但我仍然希望find一个替代品。遗憾的是,我不够聪明,知道如何find所有可用的私有API)

我认为这需要你用com.apple.coretelephony.Calls.allow授权签署你的应用程序。 我发现它在SpringBoard二进制。 苹果增加了一大堆新的权利。 所以我们应该期望,没有它们,许多API将无法工作。 仅仅为了CoreTelephony,SpringBoard就有四个权利。

我在你的post后2小时在stackoverflow问同样的问题…首先看类转储( https://github.com/EthanArbuckle/IOS-7-Headers/blob/master/Frameworks/CoreTelephony.framework/ CTCall.h )显示,该function缺less…

其实我已经和vualoaithu一样尝试了,没有运气。 但我也试图使用TUCallCenter对象的其他方法,看起来像工作正常。 例如下面的方法工作:

 TUCallCenter *callCenter = [TUCallCenter sharedInstance]; if(callCenter) { NSLog(@"callCenter is created!"); //Working part if([callCenter inCall]){ NSLog(@"IN CALL"); // when you press answer button and can talk }else{ NSLog(@"NOT IN CALL"); // other cases } } 

我也试过以下内容:

  TUPhoneNumber* phoneNumber = [TUPhoneNumber phoneNumberWithDigits:@"55555555" countryCode:@"1"]; if(phoneNumber) { NSLog(@"Phone Number obj = %@",phoneNumber); NSLog(@"Phone Number = %@",phoneNumber.digits); NSLog(@"Country Code = %@",phoneNumber.countryCode); } [callCenter dial:phoneNumber service:0]; 

但是我得到了exception:

[TUPhoneNumber长度]:无法识别的select器发送到实例0x14dcefd0

看起来像我们正在路上。 如果有人会find解决办法。 请在这里发布。 谢谢。

您可以使用

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@“tel:%@”,num]]];

但是当通话完成后,您不能closures通话屏幕