web-dev-qa-db-ja.com

OSX Swift URLをデフォルトのブラウザーで開く

Swiftをプログラミング言語として、OSXをプラットフォームとして使用して、システムのデフォルトブラウザーでURLを開く方法。

私はUIApplicationでたくさん見つけました

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

しかし、これはOSXではなくiOSでのみ動作します

そして、 Launch Services 、Swiftの例がなく、OSX 10.10で非推奨になったものがたくさんあります

任意のヘルプ歓迎-ありがとう。

65
user2929462

Swift 3以降

import Cocoa

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

}
118
Leo Dabus

MacOSの場合、これを使用できます。

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

IOSの場合、次を使用できます。

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

NSURLをアンラップする必要があります。

38
Connor Knabe

マックOS:

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

iOS:

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

Swiftを使用する場合、次を使用してデフォルトのブラウザーでWebページを開くことができます。

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

上記の受け入れられた回答では、次を入力してSwiftを使用してURLを確認することもできます。

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

この情報が誰にでも役立つことを願っています。

11
FivePixels

xCode 9アップデート

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

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

ただのボーナス。 特定のブラウザでURLを開く(そのURLを処理できる他のクライアントであっても)したい場合は、Xcode 8.2.1およびmacOSでテストされたSwiftコードがあります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
  )
}
8
longkai

Swift 5Xcode 1およびMAC OSの場合:

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

MacOS Xcode 10 Swift 4.2アップデート

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