I do not know what is best, but I am using an HTTP request for this.
func checkWebsite(completion: @escaping (Bool) -> Void ) { guard let url = URL(string: "yourURL.com") else { return } var request = URLRequest(url: url) request.timeoutInterval = 1.0 let task = URLSession.shared.dataTask(with: request) { data, response, error in if let error = error { print("\(error.localizedDescription)") completion(false) } if let httpResponse = response as? HTTPURLResponse { print("statusCode: \(httpResponse.statusCode)")
source share