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通话屏幕