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?
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.