Call using Skype.app via openURL: - iphone

Does anybody know if it is possible open Skype.app to call phone via
- (BOOL)openURL:(NSURL *)url
UIApplication message?
If it possible, what url a need pass to this message?
Thanks

Just for reference, this seems to have changed when multitasking support was added: starting at least with Skype 2.1.0, this URI works fine: skype:+33123456789?call

By looking at Skype's Info.plist file (you can open it from the ipa file iTunes has downloaded), you can tell it has no URL registered, so you won't be able to call it from your application.
You should look for a key called CFBundleURLTypes (you can look at Twiterrific's for an app that has one defined).
Update: Apparently, starting with Skype 2.1, there is a URL registered. See other answers on this question.

Just to provide some direction here we provide URI support on iOS and we have created an example for you, see: https://dev.skype.com/skype-uri/skype-uri-tutorial-ios

Related

Get Call log details from NonJailbreakenIPhone

Is it possible to get call log details (Received, Dailed and missed) from NonJailbreakenIPhone?
I follow this link http://iosstuff.wordpress.com/2011/08/19/accessing-iphone-call-history/
but i didn't get any thing.
If possible please provide some code or steps.
No, this is impossible because of the way apps are sandboxed on iOS. While it might have been possible in previous iOS versions, iOS 5+ have locked down file system access to only within your own app's bundle.

URL scheme in iOS

I have added an URL scheme to my application. The URL scheme is testapp://. While I entered the text testapp:// in Safari and on hitting return, it launched my application.
Then I tested with testapp://placeid=12. This is launching the TestApp in iPad but in iPhone, I am getting Cannot Open Page and I am not able to test.
I could pass the placeid=12 as URL query. But what I would like to know is, why it is not opening in iPhone alone.
Any idea on this?
Note: Irrespective of device types, it seems to be iOS issue. This is the behaviour from iOS 6 and above.
Could it be that each device is running a different iOS version?
If so, please take into account some details depending on the version. For example, if you read the Advanced App Tricks, there is a section that may help you:
Handling URL Requests
An app that has its own custom URL scheme must be able to handle URLs passed to it. All URLs are passed to your app delegate, either at launch time or while your app is running or in the background. To handle incoming URLs, your delegate should implement the following methods:
Use the application:willFinishLaunchingWithOptions: and application:didFinishLaunchingWithOptions: methods to retrieve information about the URL and decide whether you want to open it. If either method returns NO, your app’s URL handling code is not called.
In iOS 4.2 and later, use the application:openURL:sourceApplication:annotation: method to open the file.
In iOS 4.1 and earlier, use the application:handleOpenURL: method to open the file.
Hope this helps. Otherwise, I will really recommend you to stick to the standards. It would make your life easier :)
It is possibly not working because testapp://placeid=12 is not a valid URL. You will need a domain address there too, like testapp://localhost/query?placeid=12. It is possible the '=' character is causing the error.
I am not able to test it right now so let me know.
As mentioned in the question's note, it is iOS 6's Safari browser behaviour. We could not have "=" in the host of the URL while entering in Safari.
Instead, I solved this problem in the following manner.
Sent the URL in mail, and from Mail, if I click the URL, the app was launched. But the important point is, I had to parse the URL host to get the value.

How to get in-app call information

How can you get information about the call(e.g. caller's and calling numbers(or source and destination phone numbers),call date and call duration etc.), which you make from your app using openURL method in iOS sdk? Any possible way? Any help is appreciated. Thanks.
call log is not accessible via apple documented apis but if you do sm google, you'll find that there are ways to access this info (iOS dependent - means iOS4 's method/api is different than iOS 3) using which you can access this log but then you won't be able to post the app on applestore.
In iOS, you cannot access any other App's data from your App

Launch iPhone Application with Identifier

I'm trying to Launch an application within my App.
For example: If I press a Button in my testApp1, it should Open up testApp2.
Is there any Way to do this with the App Identifier??
I heard something about a undocumented method called launchApplicationWithIdentifier: suspend: but that doesn't work for me, or i'm using it wrong.
I tried this:
[UIApplication launchApplicationWithIdentifier:#"com.test.testApp2" suspend:NO]
But it didn't work.
Better use [[UIApplication sharedApplication] openUrl:]. You'll need set a custom URL scheme in your second app for that. Check this tutorial or simply do a search with "iphone custom URL schemes". There's a lot of good tutorials.
I am not sure but i guess launchApplication is used for mac app thats why its showing warning. i will suggest you to create a custom URL and add it to plist file and then later you may launch your app using that url.

Find App installed or not

How to find the app is installed in device.
If you look for an application that registers a URL scheme that it can open, then you can check for the presence of that app using the UIApplication -canOpenURL: method, as documented here: Apple Docs ; otherwise it is not possible normally from the SDK.