Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I link to my app in the App Store (iTunes)?

I want to have a feature in my app where the user can send an email to a friend with the iTunes URL to my application. How is it possible?

Thanks.

like image 782
lostInTransit Avatar asked May 04 '09 06:05

lostInTransit


1 Answers

Rather than the long and confusing urls that you usually see, you can create App Store links that are much simpler and more logical. The iTunes Store has a hidden URL format that’s much more logical. Depending on what you’re linking to, you just need to build a URL in one of these formats:

  1. Artist’s name or App Store developer’s name: http://itunes.com/Artist_Or_Developer_Name
  2. Album name: http://itunes.com/Artist_Name/Album_Name
  3. Apps: http://itunes.com/app/App_Name
  4. Movies: http://itunes.com/movie/Movie_Title
  5. TV: http://itunes.com/tv/Show_Title

Just include a url of this format in the body of the email you create.

(Note that spaces might cause problems, but I found that omitting them entirely worked for me - http://itunes.com/app/FrootGroove redirects to the app called "Froot Groove".)

(Also note that if this doesn't work for you, the iTunes link maker is here)

Your code will be something like this (extracted from mine, anonymised and not tested)

NSString* body = [NSString stringWithFormat:@"Get my app here - %@.\n",myUrl];  #if __IPHONE_OS_VERSION_MIN_REQUIRED <= __IPHONE_2_2 [NSThread sleepForTimeInterval:1.0]; NSString* crlfBody = [body stringByReplacingOccurrencesOfString:@"\n" withString:@"\r\n"]; NSString* escapedBody = [(NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,  (CFStringRef)crlfBody, NULL,  CFSTR("?=&+"), kCFStringEncodingUTF8) autorelease];  NSString *mailtoPrefix = [@"mailto:[email protected]?subject=Get my app&body=" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  // Finally, combine to create the fully escaped URL string NSString *mailtoStr = [mailtoPrefix stringByAppendingString:escapedBody];  // And let the application open the merged URL [[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailtoStr]]; #endif 

You can do better things in iPhone 3.0, but I can't talk about those yet.

like image 141
Jane Sales Avatar answered Oct 09 '22 20:10

Jane Sales