How to check validity of URL in Swift?

clinton vansciver picture clinton vansciver · Jan 22, 2015 · Viewed 73.8k times · Source

Trying to make an app launch the default browser to a URL, but only if the URL entered is valid, otherwise it displays a message saying the URL is invalid.

How would I go about checking the validity using Swift?

Answer

3366784 picture 3366784 · May 8, 2015

If your goal is to verify if your application can open a URL, here is what you can do. Although safari can open the URL, the website might not exist or it might be down.

`// Swift 5
 func verifyUrl (urlString: String?) -> Bool {
    if let urlString = urlString {
        if let url = NSURL(string: urlString) {
            return UIApplication.shared.canOpenURL(url as URL)
        }
    }
    return false
}
`

As a side note, this does not check whether or not a URL is valid or complete. For example, a call that passes "https://" returns true.