MacOS NSWorkspace.shared.open "Невозможно открыть приложение. -50" - PullRequest
0 голосов
/ 03 октября 2019

Следуя другим примерам кода переполнения стека из 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. ??")

    }
  }

☝️, который дает нам это 100

enter image description here

Я попытался сменить браузер по умолчанию, проблема не в этом.

NSLog(mailUrl) регистрирует это mailto%3AFeedback%40filevacuum.com%3Fsubject=FileVacuum%20Feedback

Выглядит хорошо, может быть, ? ...

¿Que Paso?

1 Ответ

2 голосов
/ 03 октября 2019

Вы не должны в процентах кодировать URL весь ;а точнее, его отдельные компоненты. См. справочник по схеме Apple URL .

. Правильно отформатированный URL должен выглядеть следующим образом (т.е. NSLog(mailUrl) должен выводить):

mailto:Feedback@filevacuum.com?subject=FileVacuum%20Feedback
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...