iosios7iphone-privateapi

iOS 7, private API to disconnect calls CTCallDisconnect does not work


I have been using a private API (for personal use not on the App Store) to block incoming calls using the steps outlined in this Stack Overflow post How can I use private APIs to block incoming calls in an iOS application?

I recently upgraded to iOS 7 and discovered that it does not work anymore. I still receive the kCTCallIdentificationChangeNotification notification when an incoming call is received, but when I call the CTCallDisconnect function, it does nothing.

When I do the nm command on the CoreTelephony library, it still lists the CTCallDisconnect function so it looks like it's still present in iOS 7.

Has anyone had any luck in rejecting incoming calls in iOS 7?


Solution

  • I don't think you can do this without jailbreak. I checked SpringBoard's entitlements and found com.apple.coretelephony.Calls.allow. It looks like this is why private CoreTelephony APIs are not working on iOS 7. There are many new entitlements in SpringBoard and Preferences apps. For CoreTelephony alone there is four entitlements protecting different private APIs.