HI,
I'm aware that accessing the SMS incoming isn't possible in the iPhone SDk but could i read the alertView that is active on the iPhone (ie. new SMS alert) and store its values into a variable? Obviously this would require backgrounding but in theory could this work?
As other stated, you cannot see the SMS message or associated alerts.
Not sure about iOS, but on other platforms (e.g. Java ME) it is possible to address an SMS to your application instead of the phone's "inbox" (default handler). This requires that you control the server sending the SMS message.
I imagine even if you could catch an SMS targeted at your iOS app, you wouldn't. Instead use Apple's Push Notification system.
I hesitate to type this in an iOS related question, but the Android OS makes it pretty trivial for an app to see SMS messages. You can even be woken up as they arrive. So, if you just want to test out some idea you have, consider that.
No. You can access your own alerts but not those from other applications.
Unfortunately, you cannot access other application's data, be it in background or not.
Related
Is there any way to block incoming phone calls, text messages and email. Will appstore allows these kind of applications on appstore. Please help me if this is possible or not.
It is now possible from iOS 10 to block the unwanted calls
Checkout the CallKit framework
CallKit introduces app extensions that enable call blocking and caller identification. You can create an app extension that can associate a phone number with a name or tell the system when a number should be blocked.
Update: Never say never :) iOS 10 introduced this possiblity, see other answers.
Original:
NO, this is not possible with public API (and non-jailbroken devices)
And NO, Apple would never allow any app that disrupts the expected standard system behavior
Apple will never allow any third party application to do any illegal things without user's knowledge. This is the policy I think apple has applied to ensure his user's that their data are safe in their iphone. U can consider mails, calls, sms to be under those categories. There may be others which I might have missed.
Please refer this link for your knowledge
Only Apple can do that and unfortunately for you they plan to do otherwise.. :/
Even if it is called "smart", all in all your target device is a "phone" so the basic phone functionalities should not be ever blocked, and the phone manufacturers do not allow this for third party applications.
Rajan is correct you can block the incoming phone calls from iOS 10.
Create a Call Directory Extension , use the addBlockingEntry(withNextSequentialPhoneNumber:) method to pass the blocked numbers to the system.
Now it's end of 2018 and actually you can really do something with Apple's latest API.
As #Rajan stated, with CallKit API (iOS 10+) you can achieve call blocking and identification (i.e. show additional info on the incoming call screen for the caller's phone number).
You can also do SMS and Call Reporting (iOS 11+) as well, where you have access to the SMS content if the number is not in your Contacts.
I'm making an iPhone app. I can receive UDP messages using AsyncUdpSocket. I want the app running in background, and when receive a message, an UIAlertView is displaying to the user, and he can enter in the app, or ignore the alert.
Is it possible to detect a message when the app is running in background.
Do I need something to execute my code in this method?
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
I saw lot of tutorials, with timer, but I don't need timer to wake up my app. Also I read that's it's possible while playing music, tracking position or using VOIP.
Do I need to play a fake song to keep my app running? or to do something like that?
This app is for security, for example if someone is touching or moving your motorbike/computer/whatever else, your iPhone can alert you and prevents from stealing.
I read other threads similar but didn't find an answer.
Thank you guys for giving me tips, or any help /sample.
You can't run in the background on a non-jailbroken phone without being in one of those three categories of app, and Apple’s really unlikely to approve your app if you use that facility for another purpose. UDP probably isn’t the best solution for this anyway—if your phone leaves the network that the other device (whatever it is) is on, it won’t receive the notification at all, whether or not it’s in the foreground. You’re probably a lot better off using the push notification API.
This seems like a perfect case to use Apple Push Notifications (APN). You app can register to receive the notifications and the phone will alert the user with any combination of badging, messages, or sounds. Sounds like you already have a server that is sending the UDP messages, so incorporating APN should be minimal. Especially if you use a third-party to send the push notification, such as Urban Airship. (I am not affiliated with them, but have used them on a large commercial project.)
By definition, local events are not triggered by receiving a message.
I'm trying to implement an app that can read received SMS and email out. I mean convert the text content to voice. So I need to access to SMS and email first. As far as I know, there is no such API provided in the default SDK. Is there any other way to realize it?
Are the SMS messages stored in database(sms.db)? How to access to them? Is it only possible on jailbroken iphones?
And what about emails? Are they only stored in mail servers? How can I get them in my app?
Sorry for asking so many questions. I have spent many days on this problem, but havn't found any solutions...
You can't. According to the Device Features Programming Guide: Sending an SMS Message:
In iPhone OS 4.0 and later, you can send text messages from within your application. This feature is strictly for sending messages. Incoming SMS messages go to the built-in Messages app.
There are serious privacy and security concerns with enabling app access to emails and SMS, and I am glad Apple choose not to do it.
Yes, you can, (at least with SMS) but only in a jailbreak app (which you suggest is ok in your comments).
The sms.db file can be read by apps that aren't sandboxed.
See my answer to a similar question for how to get SMS content. That answer just shows how to get the most recent SMS, but if you just use the commented out while loop, you can iterate through all SMS.
Can I intercept SMS messages on the iPhone? I would like to intercept messages and NOT have them display on the phone and then send out an auto reply. Is this possible in 3.x? Is it something they may alow in the future?
Nope. Nor is there a method of accessing already delivered text messages. (Even if you could, without background processing I'm not sure how your app would work anyway?)
While the OS stack might be locked down I wonder if it is possible to access the radio layer via serial and control local delivery by issuing GSM AT commands? I don't have access to an IPhone it may very well not be possible.
Is it possible to invoke an application on reception of an sms. I have created a sample application and it need to be launched when the iphone recieves a particular message. Is it possible to implement this in iphone. If possible, which way shall i do that... pls help...
In short, no.
In the long answer, I believe with version 3.0 you can have your app subscribe to Apple's push notification service. Meaning that you can have your app answer to a notification from Apple that you send. Not quite SMS, but it accomplishes the same thing.
Try this:
http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html