OSX Swift在默认浏览器中打开URL

puruo6ea  于 2023-09-30  发布在  Swift
关注(0)|答案(8)|浏览(147)

如何使用Swift作为编程语言,OSX作为平台,在系统默认浏览器中打开URL?
我在UIApplication中找到了很多,比如:

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

但这只适用于iOS而不是OSX
Launch Services,我发现没有swift的例子,而且OSX 10.10有很多不推荐的例子。

smtd7mpg

smtd7mpg1#

Swift 3或更高版本

import Cocoa

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

}
blpfk2vs

blpfk2vs2#

对于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。

ma8fv8wu

ma8fv8wu3#

macOS:

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

iOS操作系统:

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

shstlldc4#

使用Swift 3时,您可以通过以下方式在默认浏览器中打开网页:

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

在上面接受的答案中,您也可以使用Swift 3通过输入以下内容来检查URL:

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

我希望这些信息对任何人都有帮助。

uoifb46i

uoifb46i5#

只是个额外的奖励。如果您想在特定浏览器中打开URL(甚至是其他可以处理该URL的客户端),这里是在Xcode 8.2.1和macOS 10.12.2上测试的Swift 3代码。

/// 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
  )
}
lzfw57am

lzfw57am6#

Swift 5Xcode 10MAC OS

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

wfveoks07#

xCode 9更新

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

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

ohtdti5x8#

MacOS Xcode 10 Swift 4.2更新

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

相关问题