Comment ouvrir une URL dans le navigateur par défaut du système en utilisant Swift comme langage de programmation et OSX comme plate-forme.
J’ai trouvé beaucoup avec UIApplication comme
UIApplication.sharedApplication().openURL(NSURL(ssortingng: object.url))
mais cela ne fonctionne que sur iOS et non sur OSX
Et les services de lancement , que j’ai trouvés, n’ont aucun exemple de swift et il y a beaucoup de désapprobation pour OSX 10.10
Toute aide bienvenue – merci.
Swift 3 ou plus tard
import Cocoa if let url = URL(ssortingng: "https://www.google.com"), NSWorkspace.shared.open(url) { print("default browser was successfully opened") }
Pour iOS, vous pouvez utiliser les éléments suivants:
let url = NSURL(ssortingng: "https://google.com")! UIApplication.sharedApplication().openURL(url)
Vous devez déballer NSURL.
Lorsque vous utilisez Swift 3 , vous pouvez ouvrir une page Web dans le navigateur par défaut en utilisant les éléments suivants:
NSWorkspace.shared().open(NSURL(ssortingng: "https://google.com")! as URL)
Dans la réponse acceptée ci-dessus, vous pouvez également vérifier une URL en utilisant Swift 3 en entrant les éléments suivants:
if let checkURL = NSURL(ssortingng: "https://google.com") { if NSWorkspace.shared().open(checkURL as URL) { print("URL Successfully Opened") } } else { print("Invalid URL") }
J’espère que cette information aide quiconque à qui il s’applique.
Juste un bonus. Si vous souhaitez ouvrir une URL dans un navigateur spécifique (même un autre client pouvant gérer cette URL), voici le code Swift 3 testé sur Xcode 8.2.1 et macOS 10.12.2.
/// appId: `nil` use the default HTTP client, or set what you want, eg Safari `com.apple.Safari` func open(url: URL, appId: Ssortingng? = nil) -> Bool { return NSWorkspace.shared().open( [url], withAppBundleIdentifier: appId, options: NSWorkspaceLaunchOptions.default, additionalEventParamDescriptor: nil, launchIdentifiers: nil ) }
macOS:
NSWorkspace.sharedWorkspace().openURL(NSURL(ssortingng: "https://google.com")!)
iOS:
UIApplication.sharedApplication().openURL(NSURL(ssortingng: "https://google.com")!)
xCode 9 mise à jour
let url = URL(ssortingng: "https://www.google.com")! UIApplication.shared.open(url, options: [:], completionHandler: nil)