The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
I've just written an Android app to solve a UX problem. (I use the term UX because it is cool and current and gets me instant points as someone in-the-know.)
My app :
1. retrieves your incoming SMS message
2. determine who it is from via your contact list
3. says, "Incoming from <name from contact>" (Text To Speech)
4. reads your SMS message aloud to you (uses TTS - TextToSpeech).
I'm very happy with it because I often send my wife a message as I go out the door from work:
"On my way".
Her response usually takes a bit and I am very disciplined about not looking at my phone at all while driving (which makes me a freak of nature).
She often sends me a quick text, "Hey could you pick up [grocery item] on the way home?"
I never see it.
Now, my app reads the message aloud to me. It works better than I hoped really.
iOS : Super Secure
iOS does not provide an API to get the incoming SMS text body so you cannot do this.
Wow, this seems like an app whose time has come and yet you really can't do this.
This seems to be for security reasons.
I understand that apps can hijack all this stuff, but on Android you have to allow the permission and my app will tell you (upon installation) that it can RECEIVE_SMS.
Technology ain't all it's cracked up to be, ok? I mean the robots are supposed to be taking over and I can't even get my freaking iPhone to read my SMS messages to me. Lame-oh!!!
Say like a work mode, that won't automatically read something out loud
You are definitely right.
Just while testing my phone was speaking and people in cubicles around me were asking what was going on.
Actually, I've been adding the code to make it an Android Widget also.
That way you can add it to your lock screen and you can enable / disable it easily.
However, Android Widget API is brittle and is not easy to use.
Hopefully I'll get an article written up here soon about it.
Thanks for your interest.
Most aftermarket Bluetooth stereos can do this with both Android and iOS devices. When a text is received and you are driving, it will read it to you through the vehicle's speakers. If you are parked, it will allow you to push a "read" button on the display.
I said all of that to say that the technology and capability are there, you just might have to dig a bit more with iOS. It's a common problem for a lot of multi-platform apps.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
I said all of that to say that the technology and capability are there, you just might have to dig a bit more with iOS
Guided by that same bit of info (my friend has a car that does that) I thought so too.
However, it's not actually available.
It might sound like I'm being snarky (due to quickly replying) but I'm just giving the facts I've found. Everywhere I look they actually say you cannot do this -- and I am tending to believe them now after reading all the items below and more.
I asked a question on SO -- which was supposedly a duplicate:
Also note that Xamarin talks about sending an iOS message but not reading: Send an SMS or iMessage - Xamarin[^]
However, the Android Xamarin docs show you how to read also -- since underlying API supports it.
The bluetooth thing is a bit different. I have worked with bluetooth on both Android and iOS so if I could even find out how to do this by building a device I pair with iPhone I would do that too. But that info is even more difficult to find.