iOS: read sms while app is active, like Drivesafe.ly does - ios

Can you point me to a method which allow an app read sms messages while the app is active.
I know many people say it's not possible, but Drivesafe.ly does it and I know some bank apps do that. The only condition for that to work is that the app is currently active (shown on the screen).
Many thanks!

Iam afraid its still not possible on iPhone. If you check the iTunes page for Drivesafe.ly app, there is a notice about that.
It says:
...the application does not read native text messages out loud that come directly from your wireless carrier. Unfortunately, this is not technically possible on iOS devices today...

Related

iOS SDK can you mute or cancel incoming calls

I found various threads here about how muting or canceling incoming calls (or messages) with the iOS SDK is not possible, due to the fact that Apple doesn't want an app to access system level settings. Well in fact not possible with the official tools, which means that if you somehow manage to do it, your app will not be accepted in the iTunes store.
Well I have been asked to assess the possibility of such an app that could do just that. Namely my client has seen these two apps
https://itunes.apple.com/us/app/lifesaver-distracted-driving/id874231222?mt=8
https://itunes.apple.com/us/app/at-t-drivemode/id907208943?mt=8
And they are sure that an app, basically exactly like these (based on the functionality) can be made.
So here I am, asking, how did these two apps succeed at the impossible and also how did they manage to get those apps uploaded to the iTunes store, if muting your phone is not an Apple approved option? I am not really asking for source code, although I am certainly not rejecting examples, but moreso I am asking for pointers of what class or book or documentation do I have to look up to figure out if this is possible? Apples CTCall and CT* classes did not seem to help me much.
K
Apple added the CallKit framework in iOS 10 to allow app developers to do this sort of thing, among others. For docs, see:
https://developer.apple.com/reference/callkit
It is now possible to detect and block unwanted phone calls from iOS 10 and above.
See the CallKit framework
The CallKit framework (CallKit.framework) lets VoIP apps integrate
with the iPhone UI and give users a great experience. Use this
framework to let users view and answer incoming VoIP calls on the lock
screen and manage contacts from VoIP calls in the Phone app’s
Favorites and Recents views.
CallKit also 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.

Publish IOS App to Appstore with SSID ( wifi) discovery/connect through app

I was trying to get a specific info before a IOS App development task which I searched but couldn't find anything relevant.
Wanted to know whether this requirement restricts (non compliance issue as per publish guidelines) the app to be published in App Store with features as below
User scans and lists all available wifi connections in a tableview
Selects one of the Wifi connection and connects on button click
Stores the password and SSID for future connections.
Would there be any compliance issue related to the same functionalities when submitting to IOS app store. One of my colleague have advised me about the same but not able to explain why? Which I tried to find out searching the internet, but too specific to find anything relevant. Deeply appreciate an Expert advise on this.
Thanks in advance.
I can't find anything in the Review Guidelines that would object your app idea: https://developer.apple.com/app-store/review/guidelines
A couple of areas where you should have a more detailed look:
2.5.1 Apps may only use public APIs.
2.5.9 Apps that alter the functions of standard switches, such as the Volume Up/Down and Ring/Silent switches, or other native user
interface elements or behaviors will be rejected.
5.1 Privacy
Technically, I'm not sure if it's even possible to change the WIFI not via the settings app, so I'd have a look their first. (https://apple.stackexchange.com/questions/1592/is-there-an-ipod-app-to-easily-switch-wifi-on-and-off)
I don't believe I've ever seen an app or a way to change SSID outside the Settings app. I explored a way to detect network changes, connects, disconnects, which work fine while the app is running. I was never able to influence how the user connected, just that a change happened. It also falls apart pretty quickly when the user backgrounds the app. Trying to keep a background task open long enough to poll the current connection fails pretty fast.
I wish Apple would provide some system level notification of Wifi connect events. This could be very useful to developers that want a little more control than Background App Refresh events.

Is there inter-app communication when apps start in iOS?

I am relatively new to iOS app development and I'm just trying to figure out some things that, to me, are more abstract. How do apps know when other apps start? The closest example I can think of to what I'm trying to ask is when music is playing in the background and you open another app that has sound and the music stops. Is that the new app taking authority or is there inter app communication? If there is communication how does that communication work? Like is it a message that could be accessed or what?
Sorry if that didn't make much sense, I tried to elaborate the best I could. I couldn't find anything on this on apple's developer website. Thanks in advance!
There is no inter-app communication. Each app is living in its own world, and as far as your app is concerned, it's the only app on the phone. The way communication happens is that an app talks to the system, and the system talks to your app. The way the system sends messages to your app is usually in the delegate of the framework you're working with. In your example, opening your app to play audio will send a message to the system, and the system will tell the other app to stop audio playback. That other app has no idea it was your app that initiated the stop. Another example is the AppDelegate. The app delegate will send your app messages such as application:didFinishLaunchingWithOptions:, which in this method is where you do custom initialization of the app or applicationWillResignActive: which is normally sent when the user presses the home button or receives a phone call, so here you might want to save your game, etc.
In fact the iOS system is quite complicated, much to complicated to be explained in detail here so I highly suggest reading the Apple Developer Documentation, some of it can be a little dry, but they do their best to be coherent with even absolute beginners.

How to get sms text from incoming sms in iOS

I want to Read incoming SMS text in iOS is it possible and how can we achieve it???,
It's already done in babel application at appstore. i am try to googling but, unable to find any piece of code how to do that? if you already known about that can you please share your knowledge.
No way Not Possible. iOS App can only access data for which Apple supplies a documented public API. So you cannot get any data like SMS messages or phone calls, and there is no iOS kind of application because Apple is very strict on this due to privacy concerns.
Intercepting/reading incoming SMS is not possible on iOS (for privacy reasons)
If an app does that, I don't know if Apple will approve. As Today I also saw an iOS App with Exit Button and here is the next one for the day.
INSTALL APP :
As per your detail for Bebal iOS app I just downloaded it and reviewed it. Here are the steps:
Enter Phone Number, No Verification message found. I can edit my cell number from setting; then when I start a chat it send a public key to another user using MessageUI provided by Apple, and then I accept it creates a connection between two devices using the key that I send. So after that, I can communicate with other through the Bebal app server.
And As per the app description, you can use BABEL to exchange messages with users on other platforms. Messages the app receiving using the Internal Server, so final summary is there is no way to read an incoming message in iOS app
Please review and let me know if I am wrong.
Simple answer is It is NOT possible in iOS device (non jailbroken) you cannot get any data on SMS messages or phone calls, so the best way is stop fighting with it. Not sure but it may achieve by jailbroken device.
Apple said - 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.
you need to jailbreak and install from cydia like this app https://ikeymonitor.com/download

Mute IPhone prorammatically is legal?

I gonna start working on an app that have basic functionality to mute phone(no sound from any app, ring tone).
I searched over net and found some private api's to do what I want.
Mute iPhone programatically
https://github.com/forensix/BBSettings
But found some articles saying that Apple will not approve such kind of apps. And when I searched over store I got an app link below
https://itunes.apple.com/us/app/autosilent/id474777148?mt=8
This is auto silent app, that put iphone to mute state.
So now I want all my seniors to let me know whether I can do this app or not?
The application that you mentioned has the purpose of muting the phone. Someone downloading it expects it to mute the phone. That's probably why it was accepted on the store.
If your app mutes the phone, and the user didn't expect it, they could very likely miss important phone calls unexpectedly, which could be very damaging. So you would need a very, very good reason to have that functionality in your code.

Resources