swift - MacOS NSWorkspace.shared.open "The application can’ 无法打开。 -50"

标签 swift xcode macos

以下一些其他Stack Overflow code examples NSWorkspace.shared.open(),我想出了这个:

  @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. 😊📬")

    }
  }

☝️这让我们得到了这个👇

enter image description here

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

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

也许看起来不错🤔...

Que Paso?

最佳答案

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

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

mailto:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5f193a3a3b3d3e3c341f3936333a293e3c2a2a32713c3032" rel="noreferrer noopener nofollow">[email protected]</a>?subject=FileVacuum%20Feedback

关于swift - MacOS NSWorkspace.shared.open "The application can’ 无法打开。 -50",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210942/

相关文章:

ios - 在 CollectionView 中关闭已使用的单元格并打开未使用的单元格

c++ - Objective-C++ 预编译头文件

objective-c - 如何使用退出键关闭工作表?

ios - XCGLogger 线程安全吗?

iphone - iPhone 上的 Lua?

swift - Firebase 删除值无法正常工作

php - 需要帮助从 PHP 的混合源在 Swift 中准备 JSON

ios - 在谷歌地图上绘制两点之间的路径

ios - 未找到 Swift 桥接头文件

objective-c - 为什么 NSObject 的 "isMemberOfClass:class"在 XCode 的自动补全中指定了 __unsafe_unretained?