Direct "rate in iTunes" link in my app? - iphone

I've seen posts here on Stackoverflow that describe how to allow users to be directed to apps on the app store.
Is there a way to link directly to the rating and comments form in the App Store?

This IS possible using the technique described on this blog:
http://www.memention.com/blog/2009/09/03/Open-Reviews.html
basically you call UIApplication openURL with the following:
NSString* url = [NSString stringWithFormat: #"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%#", myAppID];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
To get your app ID before your app is available in the app store, use iTunesConnect to define your new app - give it a name, description, icon, screenshots, etc. Once defined, you can get the Apple ID from the Identifiers section for the app.
EDIT:
Here is a secondary url/method that works:
NSString* url = [NSString stringWithFormat: #"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%#&pageNumber=0&sortOrdering=1&type=Purple+Software&mt=8", appid];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url ]];
I believe the difference between the two is that the first technique (itms-apps://) will launch the App Store app directly while the second one (http://) will launch it indirectly via a redirect resulting from the http web URL. This would have to be confirmed; this is only my recollection.

Answers here are outdated.
This works on my end (Xcode 5 - iOS 7 - works only on Device, not simulator!):
itms-apps://itunes.apple.com/app/idYOUR_APP_ID
For versions lower than iOS 7 use the old one:
itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=YOUR_APP_ID

Simple method that I am using is;
-(void)rateApp {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[#"itms-apps://itunes.apple.com/app/" stringByAppendingString: #"id547101139"]]]; }

You can also use SKStoreProductViewController as an alternative. It will open the store in your app. You may like it better than opening another app, especially on iPads.

Thanks to Ahment swift version:
UIApplication.sharedApplication().openURL(NSURL(string: "itms-apps://itunes.apple.com/app/id951334398")!)

Related

Problems open AppStore programmatically

I'm having problems opening the app store (to suggest an app update).
This is what i'm doing:
NSURL *url = [NSURL URLWithString:#"macappstore://itunes.apple.com/app/id[my_id]?mt=12"];
if ([[UIApplication sharedApplication] canOpenURL:url]){
[[UIApplication sharedApplication] openURL:url];
}
canOpenURL is returning false, also i tried without the conditional but it doesn't work.
In addition i tried to use NSWorkspace instead the openURL method in UIApplication but i'm having compilation errors, surely this are dependencies issues but i couldn't find Cocoa.framework and neither AppKit.framework to add one of them to the binaryLibraries of my project.
For iOS, you should be using the prefix itms-apps:// instead of macappstore://. This will link you directly to the App Store app, instead of through a Safari redirect (as http:// or https:// will do).
Lots more on this topic covered here:
How to link to apps on the app store

using NSURL Launching iPhoneApp from another App

Im using this code to open AppStore app url , which is working fine am trying to launch then app it self not just open the appstore app page
any tips how i can do this using NSURL
dispatch_async(dispatch_get_main_queue(), ^{
NSURL *appStoreUrl = [NSURL URLWithString:#"https://itunes.apple.com/us/app/cnn-app-for-iphone/id331786748?mt=8"];
[[UIApplication sharedApplication] openURL:appStoreUrl];
});
You can only open the app itself if it supports a custom URL-scheme. Posting from Tweetbot is enabled by opening the url tweetbot:///post?
Alot of pages lists the urls you need to interact with other apps, see for instance http://handleopenurl.com/ or http://wiki.akosma.com/IPhone_URL_Schemes for other examples and apps
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"itms://itunes.com/apps/appname"]];

Google Maps link for iOS

I want to have a link to a Google Map on our company mobile website. The problem is, if I make a link, it takes you to the Google Maps website. It needs to open up the app.
I have found out that if you start the url with "comgooglemaps://" it will open google maps. However, this poses the problem that if a iOS user does not have Google Maps installed the link will not work.
Is there a way to open Google Maps if it is installed, but open the browser if not (I don't believe you can open Apple Maps from a website due to the nature of their API)
Thanks
EDIT: Just a heads up, this is being done on a website, not an app. So it needs to be done through HTML, Javascript, PHP etc. NOT a programing language.
Have a look at the Apple Maps Links page.
Basically you link to maps.apple.com and it redirects to Google Maps if needed. Here's an example from the page:
http://maps.apple.com/?daddr=San+Francisco,+CA&saddr=cupertino
With latitude, longitude and zoom:
http://maps.apple.com/?ll=53.01,6.01&z=15
Check this Link
You can use this method with url scheme for google map app. (comgooglemaps://blahblah)
[[UIApplication sharedApplication] canOpenURL:(NSURL*)foo]
It will return BOOL value.
Try this to move google map and set route
NSString* addr = nil;
addr = [NSString stringWithFormat:#"http://maps.google.com/maps?daddr=%1.6f,%1.6f&saddr=Posizione attuale", destinationLat,destinationLong];
NSURL* url = [[NSURL alloc] initWithString:[addr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];
Try this code
if ([[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:#"comgooglemaps://"]]) {
NSString * url = [NSString stringWithFormat:#"%#%#,%#",#"http://maps.google.com/maps?q=",#"75.14524",#"12.1521"];
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:url]];
}

Open Facebook i safari if the Facebook native app is not installed

I'm making an application where i would open Facebook native app from within the app.
That problem i have sold with this
NSString* urlString = #"fb://groups/";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: urlString]];
But if the native app isn't installed it should open Facebook in the native safari app on the iPhone. That is my problem?
Is there anyone that could help me with that?
NSString fbURL = #"fb://group/5385407511";
BOOL canOpenURL = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:fbURL]];
if(canOpenURL) {
[[UIApplication openURL:[NSURL urlWithString:fbURL]];
} else {
[[UIApplication openURL:#"http://facebook.com"];
}
It's a very bad idea to write your app in a way which relies on Facebook's native app not changing its internal structure, your app could break at any moment.
That said, if you must do this for some reason, you can check if the Facebook app is installed by checking an fb:// URL with UIApplication's
- (BOOL)canOpenURL:(NSURL *)url

how to open app store with in our ipad or iphone application?

Hi i want to open app store with in our application with the specific publisher search or specific application types..on clicking of button..let's say More App's...
You can get the appropriate URL to your app here:
http://itunes.apple.com/linkmaker
If you enter the name of your company the linkmaker will provide an "artist link" that shows all of your apps.
If you use the itms-apps:// prefix the user is sent directly to the
App Store App with the specified app showing rather than the ugly
first-Safari-then-the-App-Store-App shuffle that you get without that
UTI. A la:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:
#"itms-apps://yourAppLinkHere"]];
To generate a link that is universal and not specific to an App Store Country do the following
Use
itms-apps://**ax.itunes**.apple.com/app/yourAppLinker
where yourAppLinker is the part of the link generated in (http://itunes.apple.com/linkmaker), as in Matthew Frederick's post, which contains your application name and id
it worked for me
cheers
For IOS7 and later for example:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"itms-apps://itunes.apple.com/app/id547101139"]];