Calling a number on the iPhone - ios

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.

Related

How to let another AppStore app opens a pre populated native messaging app?

What I'm trying to replicate:
The app 'Cobook Contacts' allows you to select multiple contacts. You can then send a message to these contacts. The app does this by opening the native messages app, and populating it with MULTIPLE NUMBERS.
What I've tried:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"sms:123,456"]];
This only opens messages with the first number populated.
What I Need:
A way to replicate what Cobook Contacts does. Using an MFMessageComposeController is not good enough, I'd like to open the native messaging app. Working example code is bounty worthy.
UPDATE:
I haven't gotten anywhere further, but the object files for the cobook app are actually available at https://cobook.co/open-source. I don't know if it's possible to reverse engineer this to the extent of finding out how they open the message app however.
I also worked on the code of the app (also credit to DJ_Lectr0 in the comments) and found that this works:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"sms:/open?addresses=555.234.5678,555.234.5454;body=Hello,%20World"]];
This allows you to specify multiple addresses (phone numbers) as well as add a body (which you can obviously leave off)!
Some interesting and related material. This is the only real documentation about opening the SMS from Apple that I could find. It neither specifies the body argument or multiple addressees, but does show you the different string formats/characters you can use. This SO answer also got me thinking about using an argument (in this case it ended up being addresses although I tried about a hundred different things) and was where I found the body option.
This is what I ended up with when I use the exact code above:

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

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.

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 telephone number to download Android/iPhone app

Color App for Android and iPhone can be downloaded by calling a certain number (call **COLOR (**26567)). How exactly it works? I'm interested in both the way it redirects the user on the UI level as well as the technology used.
I understand that "**" is some kind of special prefix used it US - can it be done without this prefix (i.e. by calling an typical cellphone/stationary number)?.
I am posting this question here because I believe it is related to programming. I also cannot check it as I live outside US.
The answer below is from the Developers website: http://support.color.com/home
I guess the computer-based answering machine records your number when you call it, and then sends out a text message with a direct link to the app. Quite simple and elegant solution.
How do I get Color?
The easiest way is to call *COLOR (*26567) from your device. You will instantly receive a text message with a link to download the app from the Apple App store or Android Market.

iOS Programing, making phone calls

Is it possible to make a call from my app without accessing the standart phone application?
The problem is that if I make a call, my app goes to the background, and I really do not need that. I need it to be always active even if I am calling.
No there is no way to do that, you can only make calls via de tel URL sheme.
You can use tel://123456789, but this will display a confirmation before opening the phone app.
There are a few apps, however, that open the phone app and make a call directly without displaying a confirmation (like Dialvetica).
To answer your question, no, you can not make calls directly from your app, unless you create your own version of Skype (the whole network, not just the app), and you probably don't have the time, money and resources to do that.

Resources