Reputation: 332
In our enterprise iOS app we used
CTCallRef CTCallDial(CFStringRef number);
to do calls from the app (and be able to hide the caller-id
It does not seem to work in iOS 7. Has the API changed there?
(I'm fully aware that this is a private API call and that it can change anytime, but I'm still hoping to find an alternative. Sadly I'm not savvy enough to know how to find all private API that is available)
Upvotes: 8
Views: 3936
Reputation: 7708
Actually I've tried the same as vualoaithu and got no luck. But I've also tried to use other methods of TUCallCenter object and looks like it works fine. For example following method works:
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
}
}
Also I've tried following:
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];
But I got exception:
[TUPhoneNumber length]: unrecognized selector sent to instance 0x14dcefd0
Looks Like we are on the way. If someone will find solution. Please post it here. Thanks.
Upvotes: 0
Reputation: 9570
I think it requires you to sign your app with com.apple.coretelephony.Calls.allow
entitlement. I found it in SpringBoard binary. Apple added a whole bunch of new entitlements. So we should expect that many APIs will not work without them. Just for CoreTelephony alone there is four entitlements in SpringBoard.
Upvotes: 3
Reputation: 944
you can use
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",num]]];
But you can't close call screen when call finished
Upvotes: -1
Reputation: 101
I asked the same question here in stackoverflow 2 hours after your post... A first look at the class dump (https://github.com/EthanArbuckle/IOS-7-Headers/blob/master/Frameworks/CoreTelephony.framework/CTCall.h) shows, that this function is missing...
Upvotes: 2