4

I want to develop an iPhone callerID application. I have following challenges to develop

How to detect incoming call? Need to start my app when an incoming call occurs

Please help me out..I am new to iPhone development.

Thanks, Srikanth

4 Answers4

6

You can't do this. iOS apps cannot launch themselves without direct user interaction, and incoming calls suspend any apps that are already running.

ceejayoz
  • 176,543
  • 40
  • 303
  • 368
  • You **can't develop** a Caller ID app for the App Store. It is not possible, and if it were possible, Apple would still not approve it. – ceejayoz Oct 20 '10 at 20:14
  • can you suggest then how truecaller works – Mohit Tomar Apr 23 '14 at 08:21
  • @Mohittomar Google would help. They're using a hacky way involving OCRing a screenshot of the phone and looking it up in their own database. Still can't launch an app, though. http://techcrunch.com/2014/04/22/truecaller-extends-live-caller-id-to-its-ios-app-to-fight-spam-and-scam-calls/ – ceejayoz Apr 23 '14 at 14:03
1

I'm fairly certain this would be impossible in the iOS framework. Incoming calls suspend any active application and take priority over other operations. Further more even if you did manage the overwrite the iOS app lifecycle I think it is highly unlikely that Apple would approve the application because it attempts to replicate the functionality of the Phone app's caller ID. Apple doesn't like it when you try to replace their products (Ask Google Voice). They may have started to loosen up a little on this (See Opera browser and Skype apps) but I think this one would get flagged and rejected.

cesarislaw
  • 1,589
  • 1
  • 11
  • 21
1

Short answer: you can't.

Apps are started when a user requests it, so you can't tell an app to start when a call comes in.

And an already running app is suspended when a call comes in. You can't pick up any detail about the call.

Stephen Darlington
  • 51,577
  • 12
  • 107
  • 152
0

No. Simply you cannot do that. There is no public API is available to do that. Your app will be in sandbox environment and your app will be suspended when a call comes in. You cannot access them in anyway.

Sambit K.
  • 55
  • 6