OSX Swift открыть URL-адрес в браузере по умолчанию



Как открыть url-адрес в системном браузере по умолчанию с помощью Swift в качестве языка программирования и OSX в качестве plattform.



Я нашел много с UIApplication как



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


но это работает только на iOS а не на OSX



и Запуск Услуги, Я нашел не имеет примеров для swift и есть много устаревших для OSX 10.10



любая помощь приветствуется - спасибо.

623   6  

6 ответов:

Swift 3 или более поздней версии

import Cocoa

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

}

для iOS, вы можете использовать следующее:

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

вы должны развернуть NSURL.

при использовании Swift 3, вы можете открыть веб-страницу в браузере по умолчанию:

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

в принятом ответе выше, вы также можете проверить URL с помощью Swift 3 введите следующее:

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

Я надеюсь, что эта информация поможет кому она применяется.

macOS:

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

iOS:

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

просто бонус. Если вы хотите откройте URL-адрес в определенном браузере(даже другой клиент, который может обрабатывать этот URL), вот Swift 3 код протестирован на Xcode 8.2.1 и 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
  )
}

обновление xCode 9

let url = URL(string: "https://www.google.com")!

UIApplication.shared.open(url, options: [:], completionHandler: nil)

Comments

    Ничего не найдено.