7

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

Thanks!

Community
  • 1
  • 1
evalsyrelec
  • 1,553
  • 1
  • 12
  • 15

1 Answers1

6

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.

creker
  • 9,400
  • 1
  • 30
  • 47
  • Interesting. Where can I find the entitlements? – Ben Dowling Oct 09 '13 at 17:42
  • 5
    iOS 7 simulator has several default apps including SpringBoard and Preferences. If you open their binaries with TextEdit you will find property list with all the etitlements that app is signed with. Just search for ``. – creker Oct 09 '13 at 17:47
  • I find the entitlements "com.apple.coretelephony.Calls.allow" but not see it.Where is it ?, help me – vualoaithu Dec 17 '13 at 02:55