1

Is there any way to create an iOS application that launches and a call is received (basically hijacking the call receive event). Then the application can (after having done what it needs to do - maybe after a second or two), allow the user to answer and continue normally.

Cœur
  • 37,241
  • 25
  • 195
  • 267
Nico Huysamen
  • 10,217
  • 9
  • 62
  • 88

3 Answers3

3

Nope it is not possible to interfere the call mechanism ,may be there will be some way in jaibreak option

Lithu T.V
  • 19,955
  • 12
  • 56
  • 101
2

AFAIK that is not possible , but you can have a look at CoreTelephony.

in the docs it says

A CTCall object gives you information about a current call, including a unique identifier and state information—dialing, incoming, connected, or disconnected.

may be worth a try.

Bonnie
  • 4,943
  • 30
  • 34
1

This is not really a answer but a direction. Through IOHID(private API) your application can stay in background. It can monitor all hardware events like network or touch events. When a call is received, it would call back your application which is in background. I have a feeling that phone calls would also generate a call back which you can then handle.

Here is the sample code https://github.com/entryleveldev/TestIOHIDEvent. Also read this answer iOS touch event notifications (private API)

I have personally done it for touch events and it works pretty well in background. You can put a NSLog and monitor all types of events and easily figure out if phone calls generate a call back or not. If not, I am having a feeling that there might be other private API out there to help.

Drawback is, if you use private api, you app will get rejected in app store. Good luck.

Edit: This solution does not require jail breaking. Only use of private API.

Community
  • 1
  • 1
TorukMakto
  • 2,066
  • 2
  • 24
  • 38