open how xcode macos swift nsurl openurl

xcode - how - swift 4 open url in safari



URL abierta de OSX Swift en el navegador predeterminado (8)

Cómo abrir una url en el navegador predeterminado del sistema utilizando Swift como lenguaje de programación y OSX como plataforma.

Encontré muchas aplicaciones con UIA como

UIApplication.sharedApplication().openURL(NSURL(string: object.url))

pero esto funciona solo en iOS y no en OSX

Y descubrí que los Servicios de lanzamiento no tienen ejemplos de rapidez y que OSX 10.10 tiene mucho de obsoleto.

Cualquier ayuda bienvenida - gracias.


Actualización de MacOS Xcode 10 Swift 4.2

NSWorkspace.shared.open(URL(string: "https://www.google.com")!)


Al usar Swift 3 , puede abrir una página web en el navegador predeterminado usando lo siguiente:

NSWorkspace.shared().open(NSURL(string: "https://google.com")! as URL)

En la respuesta aceptada arriba, también puede verificar una URL usando Swift 3 ingresando lo siguiente:

if let checkURL = NSURL(string: "https://google.com") { if NSWorkspace.shared().open(checkURL as URL) { print("URL Successfully Opened") } } else { print("Invalid URL") }

Espero que esta información ayude a quien corresponda.


Mac OS:

NSWorkspace.sharedWorkspace().openURL(NSURL(string: "https://google.com")!)

iOS:

UIApplication.sharedApplication().openURL(NSURL(string: "https://google.com")!)


Para Swift 5 , Xcode 10 y MAC OS :

NSWorkspace.shared.open(NSURL(string: "http://www.lichess.org")! as URL)


Para MacOS, puede usar esto:

let url = URL(string: "https://www..com")! NSWorkspace.sharedWorkspace().openURL(url))

Para iOS, puede usar lo siguiente:

let url = NSURL(string: "https://google.com")! UIApplication.sharedApplication().openURL(url)

Tienes que desenvolver NSURL.


Solo un bono. Si desea abrir una URL en un navegador específico (incluso otro cliente que pueda manejar esa URL), aquí está el código Swift 3 probado en Xcode 8.2.1 y macOS 10.12.2.

/// appId: `nil` use the default HTTP client, or set what you want, e.g. Safari `com.apple.Safari` func open(url: URL, appId: String? = nil) -> Bool { return NSWorkspace.shared().open( [url], withAppBundleIdentifier: appId, options: NSWorkspaceLaunchOptions.default, additionalEventParamDescriptor: nil, launchIdentifiers: nil ) }


Actualización de xCode 9

let url = URL(string: "https://www.google.com")! UIApplication.shared.open(url, options: [:], completionHandler: nil)


Swift 3 o posterior

import Cocoa let url = URL(string: "https://www.google.com")! if NSWorkspace.shared.open(url) { print("default browser was successfully opened") }