'openURL' was deprecated in iOS 10.0: Please use openURL:options:completionHandler: instead in Swift 3

SwiftDeveloper picture SwiftDeveloper · Feb 22, 2017 · Viewed 26.6k times · Source

I have working open webLink url codes in Swift3 but when I use it gives me this warning;

'openURL' was deprecated in iOS 10.0: Please use openURL:options:completionHandler: instead

How can I resolve it, my codes under below.

let myUrl = "http://www.google.com"
 if !myUrl.isEmpty {
                                UIApplication.shared.openURL(URL(string: "\(myUrl)")!)
                            }

Thank you.

Answer

Anbu.Karthik picture Anbu.Karthik · Feb 22, 2017

Use like

 //inside scope use this
 let myUrl = "http://www.google.com"
    if let url = URL(string: "\(myUrl)"), !url.absoluteString.isEmpty {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }

    // or outside scope use this
    guard let url = URL(string: "\(myUrl)"), !url.absoluteString.isEmpty else {
       return
    }
     UIApplication.shared.open(url, options: [:], completionHandler: nil)

For more reference see this sample link.