// canOpenURL method verifies if there is any app which can handle indicated URL scheme.
// Swift
UIApplication.sharedApplication().canOpenURL(_ aUrl: NSURL)
// Objective-C
[[UIApplication sharedApplication] canOpenURL:(NSURL *)aUrl];
// openURL method tries to open a resource located by URL. YES/true if it was opened otherwise NO/false.
// Swift
UIApplication.sharedApplication().openURL(_ aUrl: NSURL)
// Objective-C
[[UIApplication sharedApplication] openURL:(NSURL *)aUrl];
| Parameter | Meaning | 
|---|---|
| aUrl | a NSURL instance which stores a built-in or custom scheme string | 
In iOS9 and above your app must list any URL schemes it will want to query. This is done by adding LSApplicationQueriesSchemes to Info.plist
iOS has built-in support for the tel, http/https ,sms, mailto, facetime schemes. It also supports http–based URLs for Youtube, Maps and iTunes apps.
Examples of built-in URL schemes:
tel: tel://123456890 or tel:123456890
http: http://www.google.com
facetime: facetime://[email protected]
mailto: mailto://[email protected]
sms: sms://123456890 or sms:123456890
Youtube: https://www.youtube.com/watch?v=-eCaif2QKfA
Maps:
Using address: http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,California
Using coordinates: http://maps.apple.com/?ll=46.683155557,6.683155557
iTunes: https://itunes.apple.com/us/artist/randy-newman/id200900
Note: Not all special characters are supported in tel scheme (for example * or #). This is done because of security concerns to prevent users from unauthorized redirect of calls, so in this case Phone app won't be opened.