Quickly check for and open URLs using iOS app URL schemes.
Objective-C Ruby
Latest commit c556e96 Jul 18, 2015 @jhersh jhersh [Coverage] switch to Codecov
Permalink
Failed to load latest commit information.
Example
SSAppURLs
.gitignore
LICENSE
SSAppURLs.podspec modernized, added tests Jul 6, 2014
circle.yml
readme.md

readme.md

SSAppURLs

Circle CI Coverage Status

Quickly check for and open URLs using iOS app URL schemes.

SSAppURLs is a tiny UIApplication category that makes it easy to:

  • Check if the current device has an app installed (e.g. Skype)
  • Check if the current device has certain capabilities (e.g. FaceTime)
  • Open an app with a URL scheme and pass some arguments

SSAppURLs, along with SSPreferredBrowser, powers various URL actions and open-in-browser behavior in my app MUDRammer - A Modern MUD Client for iPhone and iPad.

Install

Install with CocoaPods. Add to your Podfile:

pod 'SSAppURLs', :head # YOLO

Examples

Check out Example for an app example.

#import <UIApplication+SSAppURLs.h>

// Does the current device have skype installed?
BOOL deviceSupportsSkype = [[UIApplication sharedApplication] 
                             canOpenAppType:SSAppURLTypeSkype];

// If so, let's make a call!
if (deviceSupportsSkype) {
    [[UIApplication sharedApplication] openAppType:SSAppURLTypeSkype 
                                         withValue:@"415-555-1212"];
}

// Does the current device have Chrome installed?
BOOL deviceHasChrome = [[UIApplication sharedApplication] 
                        canOpenAppType:SSAppURLTypeChromeHTTP];

// If so, open a website in chrome!
if (deviceHasChrome) {
    [[UIApplication sharedApplication] openAppType:SSAppURLTypeChromeHTTP 
                                         withValue:@"http://www.splinesoft.net"];
}

// Check for an arbitrary scheme type
BOOL deviceHasTelnetApp = [[UIApplication sharedApplication] 
                           canOpenAppWithScheme:@"telnet"];

// Let's play NANVAENT!
if (deviceHasTelnetApp) {
    [[UIApplication sharedApplication] openAppWithScheme:@"telnet"
                                               withValue:@"nanvaent.org:23"];
}

Thanks!

SSAppURLs is a @jhersh production -- (electronic mail | @jhersh)