I want to implement an iOS application which will use the SMS text as raw information. I think Apple does not allow this. Could an iOS application read/access SMS text? or do we have any other approach to do the same?
Modification: Can we read service messages which are not saved in the SMS box like balance message?
No, there is no way to read SMS messages. Apple is very strict on this due to privacy concerns. Log in to the developers portal and click App Store Review Guidelines.
With your permission, some Google and third-party apps can access your messages to provide companion experiences like when you restore messages to a new phone or app, or when you send message notifications to your home device, smartwatch, or car.
Xnspy is our top choice as the app to see who someone is texting. It's pretty user-friendly and comes with basic and advanced spying features. It allows you to clone a cell phone to see text messages so that you can remotely track all sent and received SMS on both Android and iOS.
Change the speech settings Go to Settings > Accessibility > Spoken Content. Adjust any of the following: Speak Selection: To hear text you selected, tap the Speak button. Speak Screen: To hear the entire screen, swipe down with two fingers from the top of the screen.
Correct, you cannot access these on a standard, non-jailbroken iPhone. You should file a bug with Apple, perhaps they'll improve SMS access in the future.
Check this
For SMS sending through application allowed but for accessing inbox for sms/email not allowed.
It is only possible when the phone is Jailbreaked. There are many tools to jailbreak your phone.
Once Jailbreaked, an application cal open the SQLite database at
/var/mobile/Library/SMS/sms.db and read the message table.
It contains, the date/time at which the message was received, the sender/recipient phone number and even the clear text of the message.
I'm pretty sure that it can only be done on jailbroken phones.
Put this launchd plist in /System/Library/LaunchDaemons.
It will trigger the script whenever the sms database changes.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.billybob.SMSremote</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/script</string>
</array>
<key>Nice</key>
<integer>20</integer>
<key>WatchPaths</key>
<array>
<string>/private/var/mobile/Library/SMS/sms.db</string>
</array>
</dict>
</plist>
For the script I'd use something like the following to determine if there is a message containing the string:
sqlite3 /var/mobile/Library/SMS/sms.db "select 'String Found' from message where text like '&&XX&&' order by date desc limit 1"
for the whole script maybe
case $( sqlite3 /var/mobile/Library/SMS/sms.db "select 'String Found' from message where text like '&&XX&&' order by date desc limit 1" ) in 'String Found') sqlite3 /var/mobile/Library/SMS/sms.db "delete * from message where text like '&&XX&&'" ; commandscript;;esac
In order words when the string is found, delete all messages containing the string and execute the commandscript.
Of course you need a jailbroken phone and sqlite from cydia. The same process could be done on the other databases as well. I'm not sure how you would go about doing this without a shell script but I'm sure it's possible. I haven't tested the script yet so you might want to make a copy of your sms.db before trying. https://stackoverflow.com/a/8120599/4731224
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With