【问题标题】:MacOS NSWorkspace.shared.open "The application can’t be opened. -50"MacOS NSWorkspace.shared.open "应用程序无法打开。-50"
【发布时间】:2019-10-03 00:34:04
【问题描述】:

NSWorkspace.shared.open() 中的其他一些Stack Overflow code examples 之后,我想出了这个:

  @IBAction func mailFileVacuum(_ sender: NSButton) {
    let receiver = sender.alternateTitle
    let sendAddress = String(format: "mailto:%@@filevacuum.com?subject=FileVacuum %@", receiver, receiver).addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!

    NSLog("receiver %@", receiver)

    let mailUrl = URL(string: sendAddress)

    NSLog("mailUrl %@", mailUrl!.absoluteString)

    if NSWorkspace.shared.open(mailUrl!) {
        print("Default browser was successfully opened to send email. ????????")

    }
  }

☝️这让我们明白了????

我尝试更改默认浏览器,这不是问题。

NSLog(mailUrl) 记录此mailto%3AFeedback%40filevacuum.com%3Fsubject=FileVacuum%20Feedback

看起来不错吧????...

¿Que Paso?

【问题讨论】:

标签: swift xcode macos


【解决方案1】:

您不应该对整个 URL 进行百分比编码;而是它的各个组成部分。请参阅Apple URL Scheme Reference

格式正确的 URL 应如下所示(即 NSLog(mailUrl) 应输出):

mailto:Feedback@filevacuum.com?subject=FileVacuum%20Feedback

【讨论】:

    猜你喜欢
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 2017-04-22
    • 1970-01-01
    • 2021-11-04
    相关资源
    最近更新 更多