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")
}