Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am wondering if there is any software or any way that the iPhone can can be made to speak the name of the person who is calling. The reason I am asking is because I use a bluetooth headset all of the time and need to know who is calling so I don't need to look at my phone all of the time.

share|improve this question
Have you tried enabling VoiceOver? I don't know if it does what you want, but perhaps a jailbreak could enable that just for incoming calls. This feature clearly isn't baked into iOS as something you can just switch on just for incoming calls, though. – bmike Sep 17 '12 at 15:43
I will look into it. thanks. – Stephen Sep 17 '12 at 15:47
Would be a cool Siri feature: "Hi Stephen, Peter Pan is calling on line 1. Do you want to 'accept' the call or 'forward' it to voicemail?" – patrix Sep 17 '12 at 15:51
It looks like voice over works but then it speaks everything to me and that is annoying. I wish there was something out there that allowed this functionality just for speaking incoming calls. – Stephen Sep 17 '12 at 15:56
up vote 2 down vote accepted

I'm using since years the app CallTell available on cydia (so available only for jailbroken devices). I've tried it on iPhone 3GS, 4,4s and now 5 and it worked fine, even though since I've updated to iOS 6.0.1 I'm having some bugs on it, the reason why I was here looking around if there is another app doing the same job....but I really encourage you guys to try it if you have none. The app doesn't add an icon on your home screen, is set up on the device settings screen. The app speaks call, messages (caller and/or text) and even applications notifications. All of these things can the configured on silent, ringing of both modes. You can put it on, off and even configure the text to speak before the name

share|improve this answer

If you enable VoiceOver (in Settings → General → Accessibility), your phone will speak the numbers (or names for contact entries) of incoming calls. However it changes the user experience of the phone substantially (it will read everything on screen for you). I'm not aware of any way to enable VoiceOver just for phone calls unfortunately.

Another option would be to record custom ringtones reading the number/name for some of your contacts (you can assign custom ringtones in the Contacts app). This is obviously time consuming (although if you have a Mac, you could speed it up with some scripting of Address Book and the system reader), and only useful for the contacts you set custom ringtones for—any incoming call not in your address book is out of luck.

There's very little integration with the Phone app available for third party apps—not much more than sending a number to call, so it's unlikely this could be solved by an app without jail breaking (and possibly not even then, I don't know).

share|improve this answer
To amplify the downsides of VoiceOver - it also substantially (and severely if you have not learned how touch UI works in VoiceOver mode) changes gestures to operate iOS. For now - using ringtones and keeping the display visible are your best workarounds. – bmike Sep 17 '12 at 16:37

There is now such an App available in the App Store. It can even look up unknown numbers in the web (reverse Caller ID lookup) and then tells you who's calling. The App is called:

RingRing - Who's calling me from this number?

share|improve this answer

protected by Community Nov 5 '13 at 0:44

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.