OSX Swift открыть URL-адрес в браузере по умолчанию
Как открыть url-адрес в системном браузере по умолчанию с помощью Swift в качестве языка программирования и OSX в качестве plattform.
Я нашел много с UIApplication как
UIApplication.sharedApplication().openURL(NSURL(string: object.url))
но это работает только на iOS а не на OSX
и Запуск Услуги, Я нашел не имеет примеров для swift и есть много устаревших для OSX 10.10
любая помощь приветствуется - спасибо.
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