Launch phone calls and show a call screen from guided access? - ios

I have a "home screen-replacement" app on Android for people with eyesight problems and I'm considering making a similar App for iOS.
Since home screen replacements don't exist in iOS, I'm thinking of optimizing my app for "guided access" or "single app" mode. That way someone can set the phone up from a senior, and he can call his favorite contacts and receive calls on a more controlled and simpler enviroment.
The problem is that I don't know whether it's possible now how to do this. Can calls be launched and answered from guided access? If not any ideas on how to do it will be appreciated

To the best of my knowledge, this isn't possible with current APIs. Guided Access will prevent users from switching away to another app, including Phone. Similarly, incoming calls will be missed silently.
Edit: You could, of course, implement your own call feature over VOIP, but that's not what you asked.

May be this help you, to make phone calls using existing API:
NSString *phoneNumber = #"tel://911";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
mere about calls here How can I make a phone call programmatically on iPhone?

Nothing, just tried it. You're completely sandboxed in Guided Access.

Related

I need to check if user open a facebook or whats app during driving

I need to crate app, one of it is features to check if user is using Facebook or whats App during driving is it doable.
For privacy matters, Apple does not allow iOS apps to access other application's data, such as when the user enters them and other "sensitive" data of that sort. So, the simple answer is that you cannot do that. Another App's usage is undeterminable as of now on iOS.
Either way. Even if iOS apps are allowed to fetch data from other apps, you have to make sure your app is running on background and checking. iOS manage memory itself and kills app in background automatically. So the app is not practical. Plus if you constantly check the speed in background, the battery life will decrease.
But again on the first hand as other answers, your app does not allowed to access data. So this is not doable.
It is not possible , as apple does not allow iOS Apps fetching or accessing other apps data. Thanks

prevent the app from closing

Recently i visited a restaurant and they use iPad for ordering. When i tried to close the app by pressing the home button it did not close. Rather it blinked (may be went to background and came up again i don't know). then i was prompted for admin password.
But when i searched stack overflow most answers suggest that it is not possible. As per my understanding i can use development certificate and implement this in my personal device. May be the restaurant might have also done that.
Can someone shed some light on how to achieve this functionality?
You can put an iPad into Kiosk mode.
This will essentially lock it into a particular app with a pass key required to do anything else.
http://www.ipadenclosures.com/blog/posts/your-ipad-into-a-kiosk
This has nothing to do with objective-c. It's a feature on iPhones and iPads called Guided Access: http://support.apple.com/kb/HT5509?viewlocale=en_US&locale=en_US
There are a few ways you can do it - One of the simplest is through guided access
Another, even more secure, is through Apple Configurator - When you supervise a device you can lock it to one app and disable the controls just as with the guided access method. With this method you can supervise multiple devices and apply standard configurations quickly by simply plugging them into your Mac's USB port.

Is it possible, perhaps with Apple's permission, to switch an app to the foreground without user input?

We would like to be able to remotely control an app on an iOS device so that the app can be automatically brought to the foreground WITHOUT the user having to do anything, for example when the app receives a remote push notification. My understanding is that normally there is no way to bring an app to the foreground in iOS unless the user presses a button, because Apple has decided that it knows best, and that it is better for app developers and users not to have this possibility, because it could be abused.
We are working on a security-related app where we believe that there would be strong justification for this type of functionality (in a case where the user is not able to take any actions).
Two questions:
Is there any way to do this in iOS coding that others on similar posts have overlooked?
Does anyone have experience with whether Apple ever grants exceptions to this kind of rule if there is a good justification?
The answer is simple: NO, and there is no chance that Apple will agree to allow you to implement such functionality. The only app that does this is the Phone.app because that is its purpose.

Call with skype within my IOS app and then return

I am developing an iPad app and want to make a call using Skype. I have successfully launched Skype client using an example from Skype with the following code:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"skype:echo123?call"]];
which can be found here http://developer.skype.com/skype-uris/skype-uri-tutorial-ios.
I have also read about Skype Buttons, which Skype provides for placing in a webpage and email, but cant find out how to place then in an app, if it's even possible.
When call ends, I want to return to my app. Any information guiding me in the right direction is appreciated!
Some applications on iOS do support going back to your application after you launch them. For example, Chrome supports this via the x-callback-url scheme: https://developers.google.com/chrome/mobile/docs/ios-links
Unfortunately, Skype does not seem to be among the apps supporting this approach: http://x-callback-url.com/apps/
This likely means you're out of luck. Sorry!

Calling a number on the iPhone

So,
[[UIApplication sharedApplication]
openURL:[NSURL URLWithString:#"tel: 14165551212"]];
calls a phone number on the iPhone.
What other things can we do, though? I'm trying to make a simple app that has a list of phone numbers. It dials the first one in that list, and re-dials if it is engaged. Is this possible?
You can certainly open a link in Safari. It should also be possible to go to the Mail app and create an email. I heard that you can also go to the Messages app.
And, I don't think that what you described is possible. Your app can't do much from the background. And I'm pretty sure that it can't control/monitor any other apps(including Phone), so it will not be possible to re-dial it.
Hope it helps
What you are describing is partially possible starting with iOS 4.0 and even better with iOS 5. You may initiate dialling a number from your app with telprompt URL schema and when iOS finishes with the call it will open your app again, see Stackoverflow answer
What is problematic is getting the result of the call: whether it was successful or engaged, etc. You may want to have a look at CTCallCenter class reference.

Resources