Skype URI's not Working in iOS 9 - ios

I had implemented a module for opening Skype app for various modules chat ,call, video call.It was working till iOS 8.
Below is link is followed for integration
https://msdn.microsoft.com/en-us/library/dn745885.aspx
But it stopped working in iOS 9 now.
The below code is just opening the App-store searching Skype even when Skype is installed
BOOL installed = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:#"skype:"]];
if(installed)
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:#"skype:%#?chat",dataSource[indexPath.section]]]];
}
else
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"https://itunes.apple.com/in/app/skype-for-iphone/id304878510?mt=8"]];
}
Any Alternative for this?Please guide.Thanks

Below i am sharing the image which worked for me.
I added the key LSApplicationQueriesSchemes in Info.plist file for skype
BOOL installed = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:#"skype:"]];
if(installed)
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:#"skype:%#?chat",dataSource[indexPath.section]]]];
}
else
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"https://itunes.apple.com/in/app/skype-for-iphone/id304878510?mt=8"]];
}

Related

How to open Location Privacy Setting Page directly for ios11 ?As below code is not working , it opens setting screen only

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"App-Prefs:root=Privacy&path=LOCATION"] options:#{} completionHandler:nil];
Try Below Code. It will take to App Specific Settings.
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

How to open an https Facebook page from iOS device?

Im trying to open my Facebook app page from iPhone.
Im using this:
[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:#"http://www.facebook.com/(my page name)"]];
Unfortunately, this redirects to https protocol, and because of that the device is unable to open the page.
What can I do to open this page?
pass your Page ID - xxxxxx not the page Name
[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"fb://profile/herepassyourPageID"]];
or
[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"https://www.facebook.com/herepassyourPageID (id, not name)"]];
You are mistaken by using page name instead of page ID.
You should use something like below:
NSURL *facebookURL = [NSURL URLWithString:#"fb://profile/{pageid}"];
if ([[UIApplication sharedApplication] canOpenURL:facebookURL]) {
[[UIApplication sharedApplication] openURL:facebookURL];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#""https://www.facebook.com/{pageid}"]];
}
[If desired]: You should check the availability of installed facebook app to open the page, as shown in the above code sample.

Custom URL link for linked in app

I am trying to open, linkedin app from my ios app. It is getting opened but with the user's home page. I want it to open with some profile. How can i send the profile id or name with custom url.
try this:
NSString *actionUrl = #"linkedin://#profile/52458178";
NSString *actionUrlWeb = #"http://www.linkedin.com/in/chetankedawat";
BOOL canOpenURL = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:actionUrl]];
if (canOpenURL){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:actionUrl]];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:actionUrlWeb]];
}

xcode and waze integration

I'm trying to integrate my app with waze.
Anyone know how can I call waze and send the coordinates?
I didn’t find any API or other information about it..
- (void) navigateToLatitude:(double)latitude
longitude:(double)longitude
{
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:#"waze://"]]) {
//Waze is installed. Launch Waze and start navigation
NSString *urlStr = [NSString stringWithFormat:#"waze://?ll=%f,%f&navigate=yes", latitude, longitude];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
} else {
//Waze is not installed. Launch AppStore to install Waze app
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"http://itunes.apple.com/us/app/id323229106"]];
}
}

Game Center URL scheme

It's possible to open the Game Center app from your own app using:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:"]];
Is there a way to open it on the page for a specific game?
I've tried many different combinations. Judging by iBook's lack of such a feature, the lack of documentation and as I'm sure you've found—the lack of info on the internet—I'm going to say that someone'd probably have to either brute force the URL to figure it out (if it's set up to go to individual apps by URL at all). Here are some I've tried:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:id350536422"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:us/app/cheese-moon/id350536422"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:games/"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:350536422"]];
UPDATE
I combed through the internals of the OS and found out the URL resolution patterns for Game Center:
You'll need to be savvy with regex to use all of them. Here are some I've typed out for you:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:/me/account"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:/me/signout"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:/friends/recommendations"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter:/games/recommendations"]];
The example URLs used in Cirrostratus's answer are missing a few bits.
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter://static.gc.apple.com/me/"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter://static.gc.apple.com/friends/"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"gamecenter://static.gc.apple.com/games/"]];
These URLs seem to work for me on iOS 6 and 7. I'm assuming if you were signed into a sandbox Game Center account that you'd have to use sandbox.gc.apple.com instead. I tried to go to a specific game or friend page via /games/game/<id>/ and /friends/player/<id>/ but anything I try for ID doesn't seem to work. For the friends URL I go to a blank friend page.
Even if someone did figure it out, because it's undocumented Apple could change at any time in the future so I wouldn't hardcode a URL like this into an app.
Only use this routine .
- (void)showGameCenter
{
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil)
{
gameCenterController.gameCenterDelegate = self;
gameCenterController.viewState = GKGameCenterViewControllerStateDefault;
[self presentViewController: gameCenterController animated: YES completion:nil];
}
}

Resources