How to open a URL in Safari programmatically

Instead of loading a URL into a UIWebView we can also launch Safari to display it:

    UIApplication *mySafari = [UIApplication sharedApplication];
    NSURL *myURL = [[NSURL alloc]initWithString:@""];
    [mySafari openURL:myURL];

The method returns a BOOL value which will feed back if this operation was a success or not:

if (![mySafari openURL:myURL])
//  opening didn't work

openURL can open phone numbers (tel:), mailto: links, http: and https: links.

2 thoughts on “How to open a URL in Safari programmatically

  1. Hey i m trying to launch directly safari, without creating view controller. So i have written this code in didFinishLaunchingWithOptions: But it taking lot of time to open. Please help

    1. Pass I’m afraid – it’s not a real world scenario though because you wouldn’t open Safari as soon as your app launches (users might as well launch Safari right away). Perhaps add a button that will trigger opening the URL. It should happen instantly.

Leave a Reply