web-dev-qa-db-fra.com

Swift - ouvre une page Web dans l'application, le bouton ne réagit pas

J'ai créé un bouton pour passer un appel depuis l'application:

   @IBAction func callButton(sender: AnyObject) {
    if (PhoneNumber != ""){
    UIApplication.sharedApplication().openURL(NSURL(string: "telprompt://\(PhoneNumber)")!)
    }
}

et cela fonctionne parfaitement bien. Une chose étrange se produit lorsque je veux ouvrir une page Web. J'utilise presque exactement le même code 

    @IBAction func openWeb(sender: AnyObject) {
    UIApplication.sharedApplication().openURL(NSURL(string: "www.google.com")!)
}

Mais ce bouton ne réagit pas et rien ne se passe. Partout où je cherchais des informations sur l'ouverture de pages Web dans Safari depuis l'application, le code était écrit exactement de cette façon. Avez-vous une idée du problème?

Merci d'avance!

17
DCDC

schéma manquant

UIApplication.sharedApplication().openURL(NSURL(string: "http://www.google.com")!)
52
elio.d

Swift 4, non emballé en toute sécurité en option, vérifiez si canOpenURL

if let url = URL(string: "https://www.google.com"),
        UIApplication.shared.canOpenURL(url) {
            UIApplication.shared.open(url, options: [:])
}
8
Aaron Halvorsen

Swift 3 Version

UIApplication.shared.openURL(NSURL(string: "http://google.com")! as URL)
7
MrMins

Mise à jour de la version Swift 3.0 à partir de iOS 10

let googleURL = NSURL(string: "www.google.com")! as URL
UIApplication.shared.open(googleURL, options: [:], completionHandler: nil)
4
Dustin Spengler

Swift 4.2.1, iOS 10 et supérieur

UIApplication.shared.open(URL(string: "https://google.com")!, options: [:], completionHandler: nil)
0
J. Doe