IPhone URL Schemes
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.
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.
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=%@¬e=%@&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 - IntCallWith 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 callshttps://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)
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];
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]
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];
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
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];
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
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.