IPhone URL Schemes

From akosma wiki

Jump to: navigation, search

This page centralizes code samples for URL schemes available in many iPhone applications, not only in Apple's but in many others. It also includes programming tips and references about implementing apps registering or consuming URL schemes.

If you own an iPhone app, contact akosma software to add the schemes you've implemented in your application, for others to use. The important thing is to showcase code samples, ready for others to use.

Contents

Terms of Use

This wiki page is a courtesy service. Due to the large amounts of spam and advertising in this page, I've decided to block this page for editing. If you want your application to appear here, please contact akosma software with the information you want to post here.

Thanks for sharing your URL scheme to the community! Sorry for the hassle but thanks to users without respect I have no other choice.

Programming Tips

Registering your own URL schemes

Please check this page in iPhone Developer Tips.

Note about URL Encoding in Objective-C

There can be some problems with NSString's stringByAddingPercentEscapesUsingEncoding: method since it does not encode some reserved characters for URLs; you might prefer to use this code instead:

CFStringRef encoded = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, 
                                                              (CFStringRef)textToEncode,
                                                              NULL, 
                                                              (CFStringRef)@";/?:@&=+$,", 
                                                              kCFStringEncodingUTF8);

The Core Foundation CFURLCreateStringByAddingPercentEscapes() function provides more options and is more suitable for complex texts.

Similarly, if you want to remove the URL encoding from a string, for example in the application:handleOpenURL: UIApplicationDelegate method, use this code:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
{
    NSString *query = [url query];
    CFStringRef clean = CFURLCreateStringByReplacingPercentEscapes(kCFAllocatorDefault, 
                                                                   (CFStringRef)query, 
                                                                   CFSTR(""));

    [controller doSomething:(NSString *)clean];
    CFRelease(clean);
}

Apple iPhone Applications

Safari

Any URL starting with http:// which does not point to maps.google.com or www.youtube.com is sent to Safari:

NSString *stringURL = @"http://wiki.akosma.com/";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Apparently feed:// opens http://reader.mac.com in Safari.

Maps

URLs starting with http://maps.google.com open up the "Maps" application automatically:

NSString *title = @"title";
float latitude = 35.4634;
float longitude = 9.43425;
int zoom = 13;
NSString *stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@@%1.6f,%1.6f&z=%d", title, latitude, longitude, zoom];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

It seems that maps:// also opens up the Maps application.

Phone

The phone links start with "tel:" but must not contain spaces or brackets (it can contain dashes and "+" signs, though):

NSMutableString *phone = [[@"+ 12 34 567 89 01" mutableCopy] autorelease];
[phone replaceOccurrencesOfString:@" " 
                       withString:@"" 
                          options:NSLiteralSearch 
                            range:NSMakeRange(0, [phone length])];
[phone replaceOccurrencesOfString:@"(" 
                       withString:@"" 
                          options:NSLiteralSearch 
                            range:NSMakeRange(0, [phone length])];
[phone replaceOccurrencesOfString:@")" 
                       withString:@"" 
                          options:NSLiteralSearch 
                            range:NSMakeRange(0, [phone length])];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@", phone]];
[[UIApplication sharedApplication] openURL:url];

SMS

To open the SMS application, just use the sms: protocol in your URL:

NSString *stringURL = @"sms:";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

You can specify a phone number, but apparently not a default text for your message:

NSString *stringURL = @"sms:+12345678901";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

The same restrictions apply as for phone URLs, regarding spaces, brackets and dashes.

Mail

These URLs launch Mail and open the compose message controller:

NSString *stringURL = @"mailto:test@example.com";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

You can also provide more information, for a customized subject and body texts:

NSString *subject = @"Message subject";
NSString *body = @"Message body";
NSString *address = @"test1@akosma.com";
NSString *cc = @"test2@akosma.com";
NSString *path = [NSString stringWithFormat:@"mailto:%@?cc=%@&subject=%@&body=%@", address, cc, subject, body];
NSURL *url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];

You might also omit some information:

NSString *subject = @"Message subject";
NSString *path = [NSString stringWithFormat:@"mailto:?subject=%@", subject];
NSURL *url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];

For more complex body texts, you might want to use the CFURLCreateStringByAddingPercentEscapes() function, as explained above in this page.

Music / iPod

The "music:" URL scheme opens the iPod application:

NSString *stringURL = @"music:";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Thanks to Eric Dolecki for the information!

YouTube

URLs starting with http://www.youtube.com open up the "YouTube" application automatically:

NSString *stringURL = @"http://www.youtube.com/watch?v=WZH30T99MaM";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

It also works with this URL (which normally brings the Flash video player used by YouTube):

NSString *stringURL = @"http://www.youtube.com/v/WZH30T99MaM";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Videos

To open the Videos application, use the "videos:" URL:

NSString *stringURL = @"videos:";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

iTunes

To open up iTunes, use this URL:

NSString *stringURL = @"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=156093464&id=156093462&s=143441";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

App Store

Very similar to the iTunes URLs:

NSString *stringURL = @"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=294409923&mt=8";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

iBooks

Source: http://akos.ma/aqdr with some help from StuFFmc to actually get the URL working :)

To open the library:

NSString *stringURL = @"ibooks://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

To open the iBooks store at a particular book page, you have to add the complete URL to that particular book:

NSString *stringURL = @"itms-books://itunes.apple.com/de/book/marchen/id436945766";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
NSString *stringURL = @"itms-bookss://itunes.apple.com/de/book/marchen/id436945766";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Third Party Applications

AirSharing

Launch the application:

NSString *stringURL = @"airsharing://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Alocola

Launch the application:

NSString *stringURL = @"alocola://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Ambiance

For Ambiance by Urban Apps, referred by Matt:

Scheme: amb://

NSString *stringURL = @"amb://home";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Paths (each is self explanatory)

  • home
  • player
  • featured
  • store
  • library
  • downloads
  • favorites
  • alarm
  • settings
  • quickstart
  • share
  • help
  • backup
  • recorder

Appigo Notebook

Launch the application:

NSString *stringURL = @"appigonotebook://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Appigo Todo

Launch the application:

NSString *stringURL = @"appigotodo://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Create a new task:

NSString *template = @"appigotodo://com.example.xyzapp/import?name=%@&note=%@&due-date=%@&priority=%@&repeat=%@";
NSString *name = @"Buy%20some%20milk";
NSString *note = @"Stop%20on%20the%20way%20home%20from%20work.";
NSString *dueDate = @"2009-07-16";
NSString *priority = @"1";
NSString *repeat = @"101";
NSString *stringURL = [NSString stringWithFormat:template, name, note, dueDate, priority, repeat];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Bookmarkers / Bookmarkers Pro

NSString *stringURL = @"Bookmarkers://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open Bookmarkers Pro:

BookmarkersPro://{url}?jumpback={your url scheme}

Open Bookmarkers:

Bookmarkers://{url}?jumpback={your url scheme}

Call Recorder and Cheap Calls

Call Recorder - IntCall With the app you can record our outgoing phone calls.

https://itunes.apple.com/us/app/call-recorder-intcall/id521680097?mt=8

URL Scheme:

callrec://[phone number in international format without leading 0]

For example, to call a number in USA use the following scheme: callrec://12125867000

Cheap Calls - IntCall

With the app you can make cheap international calls https://itunes.apple.com/us/app/cheap-calls-intcall/id502451894?mt=8

URL Scheme: cheapcalls://[phone number in international format without leading 0]

For example, to call a number in USA use the following scheme: cheapcalls://12125867000

Duo

Launch the application and pre-populate the update field with your desired Tweet/Facebook update. Optional: Provide Duo with the custom URL and return path to your app to provide the user with a button to return to your app.

NSString *appID = @"Your Apps Name";
NSString *updateInfo = @"The Tweet/Status Update";
NSString *returnScheme = @"Your Apps Return URL Scheme";
NSString *returnPath = @"Your/Apps/Return/Path";
NSString *baseURL = @"duoxx://updateFaceTwit?";
	
NSString *encodedUpdateInfo = [updateInfo stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString *urlString = [NSString stringWithFormat:@"%@BLappID=%@;BLupdateInfo=%@;BLreturnScheme=%@;BLreturnPath=%@", 
						   baseURL, appID, encodedUpdateInfo, returnScheme, returnPath];

NSURL *url = [NSURL URLWithString:urlString];
[[UIApplication sharedApplication] openURL:url];


The Cartographer

Launch app and add a placemark at given coordinate:

NSString *title = @"Placemark title (optional)";
NSString *summary = @"Placemark description (optional)";
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(123.0, 12.0);

title = [(id)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)title, NULL, (CFStringRef)@";/?:@&=+$,", kCFStringEncodingUTF8) autorelease];
summary = [(id)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)summary, NULL, (CFStringRef)@";/?:@&=+$,", kCFStringEncodingUTF8) autorelease];

NSString *cartographerURL = [NSString stringWithFormat:@"cartographer://placemark?coordinate=%lf,%lf&title=%@&summary=%@", 
         coordinate.latitude, coordinate.longitude, title, summary];

NSURL *url = [NSURL URLWithString:cartographerURL];
[[UIApplication sharedApplication] openURL:url];

Launch app and load either a KML source or a Google My Map:

NSString *sourceURL = @"http://....";
// e.g. http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=208320711678395936256.00046bbcfdcd1f3ebf64b&z=5

// Optional:
MKCoordinateRegion region = ...;
sourceURL = [sourceURL stringByAppendingFormat:@"&ll=%lf,%lf&spn=%lf,%lf", 
               region.center.latitude, region.center.longitude, region.span.latitudeDelta, region.span.longitudeDelta];

NSURL *url = [NSURL URLWithString:[sourceURL stringByReplacingOccurrencesOfString:@"http://" withString:@"cartographer://"]];
[[UIApplication sharedApplication] openURL:url];


ChatCo

NSString *stringURL = @"irc://irc.example.domain/roomName";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
NSString *stringURL = @"irc://irc.example.domain/Nickname@roomName";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
NSString *stringURL = @"irc://irc.example.domain/Nickname!Realname@roomName";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];


Cobi Tools

To email device info:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"cobitools://emailInfo?email=john@appleseed.com"]];

To email console logs:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"cobitools://emailLog?email=john@appleseed.com&filter=textFilter&appname=AppName"]];

Credit Card Terminal

Launch the application:

NSString *stringURL = @"com-innerfence-ccterminal://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

DailyMotion

To launch the application:

NSString *stringURL = @"dailymotion://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

To open a video using its ID:

NSString *stringURL = [NSString stringWithFormat:@"dailymotion://video/%@", video_id];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];


Darkslide (formerly Exposure)

To launch the application:

NSString *stringURL = @"exposure://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Echofon / Echofon Pro (formerly Twitterfon / Twitterfon Pro)

(Source)

NSString *message = @"http://test.com/";
NSString *stringURL = [NSString stringWithFormat:@"twitterfon:///post?%@", message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
NSString *message = @"http://test.com/";
NSString *stringURL = [NSString stringWithFormat:@"twitterfonpro:///post/username?%@", message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

The "post" parameter in the URL only works for simple URLs; if you want to post URL-encoded text, try the following:

NSString *message = @"hello%20from%20TwitterFon!";
NSString *stringURL = [NSString stringWithFormat:@"twitterfonpro:///message?%@", message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Eureka

Substitute eureka for http e.g. eureka://en.wikipedia.org/wiki/Apple

NSString *page = @"en.wikipedia.org/wiki/Apple";
NSString *stringURL = [NSString stringWithFormat:@"eureka://%@", page];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Explorimmo immobilier

NSString *stringURL = @"explorimmo://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Facebook

This information comes from the iPhoneDevTools website.

NSURL *url = [NSURL URLWithString:@"fb://<insert function here>"];
[[UIApplication sharedApplication] openURL:url];

You can use these options:

  • fb://profile – Open Facebook app to the user’s profile
  • fb://friends – Open Facebook app to the friends list
  • fb://notifications – Open Facebook app to the notifications list (NOTE: there appears to be a bug with this URL. The Notifications page opens. However, it’s not possible to navigate to anywhere else in the Facebook app)
  • fb://feed – Open Facebook app to the News Feed
  • fb://events – Open Facebook app to the Events page
  • fb://requests – Open Facebook app to the Requests list
  • fb://notes- Open Facebook app to the Notes page
  • fb://albums – - Open Facebook app to Photo Albums list

This "works" but, then again, doesn't:

  • fb://post/<post_id>

It only works if the Facebook app has previously loaded the particular post, otherwise it draws a blank.

Apparently there are even more options available (thanks to Alex Salom for the tip!):

  • fb://album/%@
  • fb://album/(aid)
  • fb://album/(aid)/cover
  • fb://album/(initWithAID:)
  • fb://album/(initWithAID:)/cover
  • fb://album/new
  • fb://albums
  • fb://birthdays
  • fb://birthdays/(initWithMonth:)/(year:)
  • fb://birthdays/(month)/(year)
  • fb://chat/(fbid)
  • fb://chat/(initWithUID:)
  • fb://chat/(user.fbid)
  • fb://contactimporter
  • fb://contactimporter/invites
  • fb://contactimporter/legalese
  • fb://contactimporter/modal
  • fb://event/%@
  • fb://event/%llu
  • fb://event/(event.fbid)/members/(rsvpStatus)
  • fb://event/(fbid)
  • fb://event/(fbid)/members/attending
  • fb://event/(fbid)/members/declined
  • fb://event/(fbid)/members/not_replied
  • fb://event/(fbid)/members/unsure
  • fb://event/(fbid)/rsvp
  • fb://event/(initWithEventId:)
  • fb://event/(initWithEventId:)/members/(rsvpStatus:)
  • fb://event/(initWithEventId:)/rsvp
  • fb://events
  • fb://events/
  • fb://faceweb/(initWithURL:)
  • fb://facewebmodal/(initWithURL:)
  • fb://feed
  • fb://feed/%@
  • fb://feed/(filter.filterKey)
  • fb://feed/(initWithFilterKey:)
  • fb://feedfilters
  • fb://findfriends
  • fb://findfriends/legalese
  • fb://findfriends/modal
  • fb://friends
  • fb://friends/picker
  • fb://friends/sync
  • fb://friends/sync/(removeData:)
  • fb://friends/sync/disconnect
  • fb://friends/sync/legalese
  • fb://group/(fbid)/members
  • fb://group/(initWithGroupId:)/members
  • fb://groups
  • fb://launcher
  • fb://mailbox
  • fb://mailbox/(folder)
  • fb://mailbox/(initWithFolder:)
  • fb://mailbox/(initWithFolder:)/(tid:)
  • fb://mailbox/(mailbox.folder)/(tid)
  • fb://mailbox/compose
  • fb://mailbox/compose/(fbid)
  • fb://mailbox/compose/(initWithUID:)
  • fb://map
  • fb://messaging
  • fb://messaging/(folder)
  • fb://messaging/(initWithFolder:)
  • fb://messaging/(initWithFolder:)/(tid:)/participants
  • fb://messaging/(initWithFolder:)/thread?tid=(tid:)
  • fb://messaging/(mailbox.folder)/(urlEscapedTid)/participants
  • fb://messaging/(mailbox.folder)/thread?tid=(urlEscapedTid)
  • fb://messaging/compose
  • fb://messaging/compose/(fbid)
  • fb://messaging/compose/(initWithUID:)
  • fb://messaging/original_message?mid=(commentId)
  • fb://messaging/original_message?mid=(initWithMessageId:)
  • fb://nearby
  • fb://note/%@
  • fb://note/(initWithNoteId:)
  • fb://note/(initWithNoteId:)/edit
  • fb://note/(noteId)
  • fb://note/(noteId)/edit
  • fb://note/compose
  • fb://notes
  • fb://notifications
  • fb://online
  • fb://online#offline
  • fb://online#online
  • fb://pages
  • fb://photo/%@/0/%@
  • fb://photo/(album.user.fbid)/(album.aid)/(pid)
  • fb://photo/(album.user.fbid)/(album.aid)/(pid)/feedback
  • fb://photo/(fbid)/profilepic
  • fb://photo/(initWithProfilePicturesUID:)/profilepic
  • fb://photo/(initWithUID:)/(aid:)/(pid:)
  • fb://photo/(initWithUID:)/(aid:)/(pid:)/feedback
  • fb://photosapp
  • fb://place/%@
  • fb://place/(initWithPageId:)
  • fb://place/(targetId)
  • fb://place/addfriends
  • fb://place/addphoto
  • fb://place/create
  • fb://places
  • fb://places/%lld/%lld
  • fb://places/(initWithCheckinAtPlace:)/(byUser:)
  • fb://places/legalese/tagged/%lld/%lld
  • fb://places/legalese/tagged/(initWithTaggedAtPlace:)/(byUser:)
  • fb://post/%@
  • fb://post/%@_%@
  • fb://post/(initWithPostId:)
  • fb://post/(initWithPostId:)/tagged
  • fb://post/(postId)
  • fb://post/(postId)/tagged
  • fb://post/(postId)/untagSelf
  • fb://post/(untagSelfFromPostWithId:)/untagSelf
  • fb://profile
  • fb://profile/
  • fb://profile/%@
  • fb://profile/%lld
  • fb://profile/(addFan:)/addfan
  • fb://profile/(fbid)
  • fb://profile/(fbid)/addfan
  • fb://profile/(fbid)/addfriend
  • fb://profile/(fbid)/fanpages
  • fb://profile/(fbid)/fans
  • fb://profile/(fbid)/favorite
  • fb://profile/(fbid)/friends
  • fb://profile/(fbid)/info
  • fb://profile/(fbid)/menu
  • fb://profile/(fbid)/mutualfriends
  • fb://profile/(fbid)/photos
  • fb://profile/(fbid)/poke
  • fb://profile/(fbid)/removefriend
  • fb://profile/(fbid)/wall
  • fb://profile/(initWithFBID:)/menu
  • fb://profile/(initWithFansUID:)/fans
  • fb://profile/(initWithFriendsUID:)/friends
  • fb://profile/(initWithInfoUID:)/info
  • fb://profile/(initWithMutualFriendsUID:)/mutualfriends
  • fb://profile/(initWithPhotosUID:)/photos
  • fb://profile/(initWithUID:)
  • fb://profile/(initWithUID:)/addfriend
  • fb://profile/(initWithUID:)/fanpages
  • fb://profile/(initWithUID:)/poke
  • fb://profile/(initWithUID:)/removefriend
  • fb://profile/(initWithWallUID:)/wall
  • fb://profile/(toggleFavorite:)/favorite
  • fb://profile/(user.fbid)/fans
  • fb://profile/(user.fbid)/friends
  • fb://profile/(user.fbid)/mutualfriends
  • fb://profile/0
  • fb://publish
  • fb://publish/mailbox/(initWithFolder:)/(tid:)
  • fb://publish/mailbox/(mailbox.folder)/(tid)
  • fb://publish/photo/(album.user.fbid)/(album.aid)/(pid)
  • fb://publish/photo/(initWithUID:)/(aid:)/(pid:)
  • fb://publish/post/(initWithPostId:)
  • fb://publish/post/(postId)
  • fb://publish/profile/(fbid)
  • fb://publish/profile/(initWithUID:)
  • fb://publish/profile/(owner.fbid)
  • fb://requests
  • fb://root
  • fb://upload
  • fb://upload/%@/album/%lld/%@
  • fb://upload/%@/checkin/%lld
  • fb://upload/%@/profile/%lld
  • fb://upload/(initWithSource:)/album/(uid:)/(aid:)
  • fb://upload/(initWithSource:)/checkin/(checkinId:)
  • fb://upload/(initWithSource:)/profile/(uid:)
  • fb://upload/actions
  • fb://upload/actions/album/(initWithUID:)/(aid:)
  • fb://upload/actions/album/(user.fbid)/(aid)
  • fb://upload/actions/checkin/(checkinId)/
  • fb://upload/actions/checkin/(initWithCheckinId:)
  • fb://upload/actions/newalbum
  • fb://upload/actions/profile/(fbid)
  • fb://upload/actions/profile/(initWithUID:)
  • fb://upload/actions/resume
  • fb://upload/album/(showUploadMenuWithUID:)/(aid:)
  • fb://upload/album/(user.fbid)/(aid)
  • fb://upload/checkin/(checkinId)
  • fb://upload/checkin/(showUploadMenuWithCheckinID:)
  • fb://upload/discard
  • fb://upload/profile/(fbid)
  • fb://upload/profile/(owner.fbid)
  • fb://upload/profile/(showUploadMenuWithUID:)
  • fb://upload/resume
  • fb://userset
  • fb://video/%@
  • fb://video/(playVideoWithId:)
  • fb://video/(videoId)

Says Sam Cornwell:

As of the most recent facebook update 4.0 for iPhone and iPad,

  • fb://page/(fbid) will work to open to a specific page.
  • and fb://place/(fbid) will take you to a location page

Geocaching Buddy ( GCBuddy )

URL scheme is gcbuddy:// so to launch the application:

NSString *stringURL = @"gcbuddy://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

To add a cache to gcbuddy (simple example):

NSString *stringURL = @"gcbuddy://add/cache?id=GC12345&name=A%20test%20cache";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

See the full documentation for all optional parameters.

Geopher Lite

NSString *lat = @"12.345";
NSString *lon = @"6.789";
NSString *waypoint = @"GC12345";
NSString *stringURL = [NSString stringWithFormat:@"geopherlite://setTarget;lat=%@;lon=%@;waypoint=%@", lat, lon, waypoint];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Google Chrome

Source: https://developers.google.com/chrome/mobile/docs/ios-links

To check if Chrome is installed, an app can simply check if either of these URI schemes is available:

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"googlechrome://"]];

This step is useful in case an app would like to change the UI depending on if Chrome is installed or not. For instance the app could add an option to open URLs in Chrome in a share menu or action sheet.

To actually open a URL in Chrome, the URI scheme provided in the URL must be changed from http or https to the Google Chrome equivalent. The following sample code opens a URL in Chrome:

NSURL *inputURL = <the URL to open>;
NSString *scheme = inputURL.scheme;

// Replace the URL Scheme with the Chrome equivalent.
NSString *chromeScheme = nil;
if ([scheme isEqualToString:@"http"]) {
  chromeScheme = @"googlechrome";
} else if ([scheme isEqualToString:@"https"]) {
  chromeScheme = @"googlechromes";
}

// Proceed only if a valid Google Chrome URI Scheme is available.
if (chromeScheme) {
  NSString *absoluteString = [inputURL absoluteString];
  NSRange rangeForScheme = [absoluteString rangeOfString:@":"];
  NSString *urlNoScheme =
      [absoluteString substringFromIndex:rangeForScheme.location];
  NSString *chromeURLString =
      [chromeScheme stringByAppendingString:urlNoScheme];
  NSURL *chromeURL = [NSURL URLWithString:chromeURLString];

  // Open the URL with Chrome.
  [[UIApplication sharedApplication] openURL:chromeURL];
}

If Chrome is installed, the above code converts the URI scheme found in the URL to the Google Chrome equivalent. When Google Chrome opens, the URL passed as a parameter will be opened in a new tab.

Google Earth

To launch the application:

NSString *stringURL = @"comgoogleearth://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Image Data

Image Data is a universal app that displays the metadata stored inside an image. http://itunes.apple.com/us/app/image-metadata-viewer/id412509237?mt=8

Image Data can be opened by other application by using the ALAssets representation URL where assets-library is replaced by imagedata. For example:

imagedata://asset/asset.JPG?id=E9141C24-A5C9-47E2-A2AE-8580A21CD612&ext=JPG
ALAsset *asset = //reference to a ALAsset
ALAssetRepresentation *representation = [asset defaultRepresentation];
NSURL *assetURL = [representation url];
NSString *assetURLAsString = [assetURL absoluteString];

NSURL *imageDataURL = [NSURL URLWithString:[assetURLAsString stringByReplacingOccurrencesOfString:@"assets-library" withString:@"imagedata"]];

[[UIApplication sharedApplication] openURL:imageDataURL];

IMDb Movies & TV

The IMDb 2.0 app now has three URL schemes:

// with a search keyword:
imdb:///find?q=godfather

// with a title id:
imdb:///title/tt0068646/

// with a name id:
imdb:///name/nm0000199/

More URLs supported in version 2.1

imdb:///showtimes
imdb:///title/tt0068646/cinemashowtimes
imdb:///boxoffice
imdb:///chart/moviemeter
imdb:///chart/starmeter
imdb:///chart/top
imdb:///chart/bottom
imdb:///chart/tv
imdb:///feature/comingsoon
imdb:///feature/bestpicture
imdb:///feature/tvrecaps
imdb:///feature/borntoday

Alternatively, the app recognizes version specific URL schemes of the form imdb-XXYY where XX is the app major version and YY is the app minor version. The 2.1 app was the first to support this scheme. This can also be used as a check from external apps to detect whether a required minimum version of the app is installed. For example, all IMDb app versions from 2.1 and higher will recognize the imdb-0201 scheme.

INRIX Traffic

Launch the application (as of version 3.1):

NSString *stringURL = @"inrixtraffic://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

iTranslate ~ the universal translator

To launch the application:

NSString *stringURL = @"itranslate://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

To translate a text:

NSString *textToTranslate = @"Hello world"; // Text must be URL-encoded...!
textToTranslate = [textToTranslate stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *test =  [NSString	stringWithFormat:@"itranslate://translate?from=en&to=de&text=%@",textToTranslate];
NSURL *url = [[NSURL alloc] initWithString:test];
[[UIApplication sharedApplication] openURL:url];

You can find a list of all supported language codes here: http://code.google.com/apis/language/translate/v2/using_rest.html#language-params

Junos Pulse VPN app for iOS

NSString *stringURL = @"junospulse://<server-host>/<server-path>?method={vpn}&action={start|stop}";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Loan Plan - Amortization Calculator

To launch the application:

NSString *stringURL = @"loanplan://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Navigon

Example of a URL to start navigation to an address:

navigon://-|-|CHE|8052|Z=C3=9CRICH|KATZENBACHSTRASSE|51|-|-|***|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-

Notitas

To launch the application:

NSString *stringURL = @"notitas://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

To create a new note:

NSString *note = @"your%20note%20here"; // It must be URL-encoded...!
NSString *stringURL = [NSString stringWithFormat:@"notitas:///new?%@", note];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

OpenTable

To search for open seats at a restaurant:

NSString *restaurantID = @"168"; // Numeric OpenTable Restaurant ID
NSString *partySize = @"3"; // Integer
NSString *stringURL = [NSString stringWithFormat:@"reserve://opentable.com/%@?partySize=%@", restaurantID, partySize];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Opera Mini

Following URL schemes are handled by Opera Mini 7.0 and later:

  • ohttp:// e.g. ohttp://www.opera.com/
  • ohttps://
  • oftp://
NSString *stringURL = @"ohttp://www.opera.com/";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

pic2shop

See the full documentation, code samples, and online demo.

Start the barcode scanner, read the barcode, then call back the given URL with the UPC/EAN digits. The callback URL can be another iPhone custom URL (p2sclient: in the example below) or a web site:

NSURL *url = [NSURL URLWithString:@"pic2shop://scan?callback=p2sclient%3A//EAN"]; 
[[UIApplication sharedApplication] openURL:url]

Lookup a product by UPC/EAN:

NSURL *url = [NSURL URLWithString:@"pic2shop://lookup?ean=9780321503619"]; 
[[UIApplication sharedApplication] openURL:url]

Pinterest

Source

URL Scheme: pinit12://pinterest.com/pin/create/bookmarklet/?

NSURL *url = [NSURL URLWithString:@"pinit12://pinterest.com/pin/create/bookmarklet/?"]; 
[[UIApplication sharedApplication] openURL:url]

Parameters:

  • media: a direct link to the image or I think an encoded image (base64?)
  • url: the URL of the source website where the image was found
  • description: 500 characters max
  • is_video: self describing

Pocketpedia

The URL schemes initiates a search of the users media items or begins an online search for a book, movie, CD or game to add to the users library.

The schemes are compatible with the Mac version of the software so will work on both iOS and Mac.

The search scheme works by targeting the media type via the URL protocol and then add the search keywords (if left blank the search field is shown with text input ready for the user to type). Following are some examples of the four media protocols:

dvdpedia://search?Gladiator
bookpedia://search?Tolkien
cdpedia://search?Sting
gamepedia://search?Zelda

The second URL option is to filter the current users collections to find a specific item already in the collection. The filter can be done via keyword or target one of the following 4 specific fields: title, director, artist or author via regular URL get encoding.

bookpedia://filterCollection?author=Orson%20Scott%20Card
cdpedia://filterCollection?artist=Sting
gamepedia://filterCollection?Nintendo


Portscan

Launch a scan:

NSString *ip = @"192.168.1.1";
NSString *stringURL = [NSString stringWithFormat:@"portscan://%@", ip];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

PureCalc

Run PureCalc

NSString *stringURL = @purecalc://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Access PureCalc Support Website

NSString *stringURL = @purecalc://help";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

View PureCalc Version Number

NSString *stringURL = @purecalc://version";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Generate Email to PureCalc Support Team

NSString *stringURL = @purecalc://support";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Round Tuit

Add new items to the todo list:

roundtuit://add/[todo item 1]/[todo item 2]/[todo item 3]/...

NSArray *todos = [NSArray arrayWithObjects:@"todo item 1", @"todo item 2"];
NSString *stringURL = [NSString stringWithFormat:@"roundtuit://add/%@", [todos componentsJoinedByString:@"/"]];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Ships² Viewer

To launch the application:

NSString *stringURL = @"ships2://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Site Check

To launch the application:

NSString *stringURL = @"checkit://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Check current url:

NSString *whatever = @"http://whatever.com";
NSString *stringURL = [NSString stringWithFormat:@"checkit://%@", whatever];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Surfboard (iPad)

To launch the application:

NSString *stringURL = @"surfboard://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Add a bookmark / site into the app:

NSString *URL = @"whatever.com";
NSString *title = @"nonEscapedTitle";

//you will want to escape these before sending real titles / URLS

NSString *stringURL = [NSString stringWithFormat:@"surfboard://add?url=%@&title=%@", URL,title];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Bookmarklet usage of this

TimeLog

To launch the application:

NSString *stringURL = @"timelog://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Start a timer for a project

NSString * clientName = @"John%20Appleseed";
NSString * projectName = @"Just%20another%20project";
NSString * categoryName = @"Webdesign";
NSString *stringURL = [NSString stringWithFormat:@"timelog://start?client=%@&project=%@&category=%@", clientName,projectName, categoryName];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Timer

[1]

The URL scheme to open Timer is timer:// One or several actions can be added to this scheme, as the query parameters.

Here are the different actions. They take, as values, a coma separated list of screens (represented by their position in the tab bar of Timer).

  • show : shows the specified screen.
  • start : starts the timer(s) in the specified screen(s).
  • stop : stops the timer(s) in the specified screen(s).
  • startstop : toggles the start/stop state of the timer(s) in the specified screen(s).
  • resume : resumes the timer(s) in the specified screen(s).
  • pause : pauses the timer(s) in the specified screen(s).
  • resumepause : toggles the resume/pause state of the timer(s) in the specified screen(s).
  • lock : locks the specified screen(s).
  • unlock : unlocks the specified screen(s).

The x-success parameter from the x-callback-url protocol can be used to go back to the source app.

  • x-success : the (callback) url to open once all the actions are done.


Samples :

timer:// : Open Timer
timer://?resumepause=1 : Open Timer and pause (or resume) the first timer.
timer://?show=0 : Open Timer and show the list screen.
timer://?start=1,2&x-success=http%3A%2F%2Fpacolabs.com%2FiOS%2FTimer%2F%23Help : Open Timer, start timers 1 and 2 and goes to safari.
timer://?stop=0&show=1&start=1&lock=1 : Stop all the timers, show timer 1, start it and lock the screen.

TomTom

To launch the application:

NSString *stringURL = @"tomtomhome://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Tweetbot

Taken from the official Tweetbot URL schemes page:

Valid as of version 1.0.2

tweetbot://<screenname>/timeline
tweetbot://<screenname>/mentions
tweetbot://<screenname>/retweets
tweetbot://<screenname>/direct_messages
tweetbot://<screenname>/lists
tweetbot://<screenname>/favorites
tweetbot://<screenname>/search
tweetbot://<screenname>/search?query=<text>
tweetbot://<screenname>/status/<tweet_id>
tweetbot://<screenname>/user_profile/<profile_screenname>
tweetbot://<screenname>/post
tweetbot://<screenname>/post?text=<text>

The <screename> argument is optional. You may include it to go to a specific account or leave it blank and either the current or default user account will be chosen instead. As usual all query <text> should be URL encoded and other then that everything should be pretty obvious.

Valid as of version 1.3

tweetbot://<screenname>/post?text=<text>&callback_url=<url>&in_reply_to_status_id=<tweet_id>
tweetbot://<screenname>/search?query=<text>&callback_url=<url>
tweetbot://<screenname>/status/<tweet_id>?callback_url=<url>
tweetbot://<screenname>/user_profile/<screenname|user_id>?callback_url=<url>
tweetbot://<screenname>/follow/<screenname|user_id>
tweetbot://<screenname>/unfollow/<screenname|user_id>
tweetbot://<screenname>/favorite/<tweet_id>
tweetbot://<screenname>/unfavorite/<tweet_id>
tweetbot://<screenname>/retweet/<tweet_id>

The argument callback_url is an URL encoded URL that will be opened in Safari once the Post view closes.

Valid as of version 1.4

tweetbot://<screenname>/list/<list_id>?callback_url=<url>

Tweetie

To launch the application:

NSString *stringURL = @"tweetie://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Start a tweet with a shortened URL:

NSString *shortened_url = @"http://your.url.com";
NSString *stringURL = [NSString stringWithFormat:@"tweetie://%@", shortened_url];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Send a message:

NSString *message = @"your%20message%20here"; // It must be URL-encoded...!
NSString *stringURL = [NSString stringWithFormat:@"tweetie:///post?message=%@", message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];


Twittelator Pro

The author has really done a great job documenting this URL scheme! Check it out!

Launch the application:

NSURL* url = [NSURL URLWithString:@"twit://"];
[[UIApplication sharedApplication] openURL:url];

Send a message:

NSString *message = @"URL%20encoded%20message%20here";
NSString *stringURL = [NSString stringWithFormat:@"twit:///post?message=%@", message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];


Twitter

To launch the application:

NSString *stringURL = @"twitter://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Parameters: (provided by Luis Fernández, thanks!)

twitter://status?id=12345
twitter://user?screen_name=lorenb
twitter://user?id=12345
twitter://status?id=12345
twitter://timeline
twitter://mentions
twitter://messages
twitter://list?screen_name=lorenb&slug=abcd
twitter://post?message=hello%20world
twitter://post?message=hello%20world&in_reply_to_status_id=12345
twitter://search?query=%23hashtag

Twitterriffic / Twitterriffic Premium

To launch the application:

NSString *stringURL = @"twitterrific://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

To write a tweet:

NSString *message = @"hello!";
NSString *stringURL = [NSString stringWithFormat:@"twitterrific:///post?message=%@", message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Unfragment

(1.4 or above, formerly Shattered)

To launch a Flickr photo puzzle with hidden message:

NSMutableDictionary* code = [NSMutableDictionary dictionaryWithCapacity:7];

[code setObject:senderNameString forKey:@"name"];
[code setObject:messageString forKey:@"message"];

[code setObject:photoSourceURLString forKey:@"URL"];
[code setObject:photoIdString forKey:@"id"];
[code setObject:photoSecretString forKey:@"secret"];

[code setObject:[NSNumber numberWithInt:numberOfPieces] forKey:@"piece"];
[code setObject:[NSNumber numberWithBool:rotationOnOrOff] forKey:@"rotation"];

NSString* JSONString = [code JSONRepresentation];
NSData* data = [JSONString dataUsingEncoding:NSUTF8StringEncoding];

NSString* base64String = [data base64Encoding]; //modified Base64 for URL

NSString* unfragmentURLString = [NSString stringWithFormat:@"unfragment://?code=%@", base64String];

NSURL *url = [NSURL URLWithString:unfragmentURLString];
[[UIApplication sharedApplication] openURL:url];

Wikiamo

NSString *stringURL = [NSString stringWithFormat:@"wikiamo://%@", page];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
NSString *stringURL = [NSString stringWithFormat:@"wikipedia://%@", page];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Yummy

NSString *stringURL = [NSString stringWithFormat:@"yummy://post?url=%@&title=%@", encoded_url, encoded_title];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Swiss Phone Book by local.ch (from version 1.5)

URL examples to launch a search for a name or phone number:

localch://tel/q?vikram

localch://tel/q?0443091040

NSString *stringURL = [NSString stringWithFormat:@"localch://tel/q?%@", encoded_query];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Seesmic

Open app on Spaces (Page 1)

NSString *stringURL = [NSString stringWithString:@"x-seesmic://spaces"];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on Main Timeline for the Twitter account “mathieu”

NSString *username = @"mathieu";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://twitter_timeline?twitter_screen_name=%@", username];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on Replies for account “mathieu”

NSString *username = @"mathieu";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://twitter_replies?twitter_screen_name=%@", username];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on Retweets for account “mathieu”

NSString *username = @"mathieu";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://twitter_retweets?twitter_screen_name=%@", username];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on Direct Messages for account “mathieu”

NSString *username = @"mathieu";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://twitter_messages?twitter_screen_name=%@", username];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on the Twitter profile view for “mathieu”

NSString *username = @"mathieu";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://twitter_profile?twitter_screen_name=%@", username];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on tweet view for Tweet ID “2814526203”

NSString *tweet_id = @"2814526203";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://twitter_status?id=%@", tweet_id];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on the Twitter search results for query “Apple iPhone”

// Query will be encoded using stringByAddingPercentEscapesUsingEncoding
NSString *search_query = @"Apple%20iPhone";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://twitter_search?query=%@", search_query];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on the Facebook Main Timeline (if the user added a Facebook account, or else the Spaces view will be launched)

NSString *stringURL = [NSString stringWithString:@"x-seesmic://facebook_timeline"];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on Composer view for the Twitter account “mathieu” and with the content “this is a tweet” in the text field

// Query will be encoded using stringByAddingPercentEscapesUsingEncoding
NSString *message = @"this%20is%20a%20tweet";
NSString *username = @"mathieu";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://update?twitter_screen_name=%@&status=%@", username, message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
// Query will be encoded using stringByAddingPercentEscapesUsingEncoding
NSString *message = @"this%20is%20a%20tweet%20with%20a%20url%3A%20http%3A%2F%2F";
NSString *username = @"mathieu";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://update?twitter_screen_name=%@&status=%@", username, message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open the Composer view without knowing the account and with the content “this is a tweet” in the text field

// Query will be encoded using stringByAddingPercentEscapesUsingEncoding
NSString *message = @"this%20is%20a%20tweet";
NSString *stringURL = [NSString stringWithFormat:@"x-seesmic://update?status=%@", message];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Open app on Composer view (no content, no account app will select default account)

NSString *stringURL = [NSString stringWithString:@"x-seesmic://update"];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Offline Pages

Launch app

NSString *stringURL = [NSString stringWithString:@"offlinepages:"];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Launch app and add URL http://www.apple.com to save queue

NSString *httpURL = [NSString stringWithString:@"http://www.apple.com"];
NSString *offlineURL = [NSString stringWithFormat:@"offlinepages:%@", httpURL];
NSURL *url = [NSURL URLWithString:offlineURL];
[[UIApplication sharedApplication] openURL:url];

Launch app and add URL http://www.apple.com to save queue with custom title "Apple website"

NSString *httpURL = [NSString stringWithString:@"http://www.apple.com"];
NSString *title= [NSString stringWithString:@"Apple website"];
NSString *encodedTitle = [title stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString *offlineURL = [NSString stringWithFormat:@"offlinepages:title=%@&url=%@", encodedTitle, httpURL];
NSURL *url = [NSURL URLWithString:offlineURL];
[[UIApplication sharedApplication] openURL:url];

Terminology

Launch the application:

NSString *stringURL = @"terminology://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Lookup a word or phrase in the dictionary:

NSString *template = @"terminology://x-callback-url/1.0/lookup?text=%@";
NSString *text = @"fun";
NSString *stringURL = [NSString stringWithFormat:template, text];
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Request a replacement word also available, see full developer documentation

ZenTap

Launch the application:

NSString *stringURL = @"zentap://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Launch the applicaction with text:

NSString *stringURL = @"zentap://myTextToShowInZenTap";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

ZenTap Pro

Launch the application:

NSString *stringURL = @"zentappro://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Launch the applicaction with text:

NSString *stringURL = @"zentappro://myTextToShowInZenTap";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

TextFaster

TextFaster is a keyboard with keys six times bigger than the usual keyboard.

Launch the application with url and it will open.

NSString *stringURL = @"keyboard://?text=Hello%20World&fromapp=mailto";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Threadnote

This information was provided by Bryan Clark from the Threadnote team!

Threadnote is a tweet-like private notes app for the iPhone.

NSString *stringURL = @"threadnote://new?text=hello";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

This URL would make a new note with the text "hello".

TikiSurf

TikiSurf is a mobile browser with fast access to websites, maps, apps through a visual touch panel.

Launch the application alone or with a collection url to open it at startup.

Application alone:

NSString *stringURL = @"tikisurf://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Launch a collection from url:

Full list of existing collections

Tool to create your own collection

NSString *stringURL = @"tikisurf://activateGrammar?url=http://get.tikilabs.com/grammars/rzi10d8292gwy0fj.html";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Waze

http://www.waze.com

App Store: http://itunes.apple.com/us/app/id323229106?mt=8&ign-mpt=uo%3D6

NSString *stringURL = @"waze://?ll=37.331689,-122.030731&z=10";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

examples: show on map: waze://?ll=37.331689,-122.030731&z=10

navigate: waze://?ll=37.331689,-122.030731&navigate=yes

options: search for address: q=<address search term>

center map to lat / lon: ll=<lat>,<lon>

set zoom (minimum is 6): z=<zoom>

auto start navigation: navigate=yes

Webmail+

http://itunes.apple.com/us/app/webmail/id392501588?mt=8

NSString *stringURL = @"wpp://account/UNIQUE_ID";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

where 'UNIQUE_ID' is the ID of your account. This can be obtained in the settings of the application under Push Notifications. This will launch my application and immediately load the webmail account specified by the ID.

Where To?

This link is courtesy of Orwin Gentz from FutureTap!

NSURL *whereToUrl = [NSURL URLWithString:@"whereto://?search=Bars"];
[[UIApplication sharedApplication] openURL:whereToUrl];

The URL scheme is whereto (or whereto5 to require Where To? 5.0 or higher). The following GET query parameters are supported:

  • search: Sets the category or name to be searched. Equivalent to starting a manual search using the Search button within the app. Notice that Where To? automatically resolves (and translates if necessary) built-in categories for optimized search quality. For instance, the provided example value is dynamically translated to “Öffentl. Verkehrsmittel” when the user’s interface language is German.
  • location: Sets the location using latitude, longitude to be searched at. The example value sets the location to Apple’s HQ in Cupertino. Requires the search parameter to be set. If location is not specified, Where To? will search at the current location.
  • poi: Lets Where To? display a specific place. The example value will display the Apple Store in San Francisco. Not to be combined with search and location parameters!

More information at the Where To? API page

iWavit Tabula Rasa

Tabula Rasa is a Universal Remote Control Editor app which is used to create "Virtual Remotes" that you can use to control your IR Devices (TV, DVD..) and Computers (PC, Mac, Linux). The app requires the iWavit hardware accessory which adds new hardware capabilities to the iPhone, iPad, and iPod touch (http://www.iwavit.com).

Launch the application alone with this call

NSString *stringURL = @"wavittabularasa://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

There are many other iWavit apps (>30), that tend to have names like iWavit PS3 or iWavit DirecTV, which are apps dedicated to controlling specific major brand electronics devices. These apps all tend to follow the same URL Schemes: @"wavitxxx://" where xxx is the name after the iWavit, all lower case.

Personal tools