NSFilePromiseReceiver Время ожидания NSURL истекло с почтовым приложением Apple

Я пытаюсь получить .emlфайлы электронных писем с помощью перетаскивания из Apple mail.app. Mail.app дает вам обещания файлов через перетаскиваемый монтажный стол для их получения. Вот мой код для обработки этих обещаний:

override func performDragOperation(_ sender: NSDraggingInfo) -> Bool {

    let pasteboard: NSPasteboard = sender.draggingPasteboard

    guard
      let filePromises = pasteboard.readObjects(
        forClasses: [NSFilePromiseReceiver.self], options: nil) as? [NSFilePromiseReceiver]
    else {
      return false
    }

    print("Files dropped")

    let operationQueue = OperationQueue()
    print("Destination URL: \(destinationURL)")

    filePromises.forEach({ filePromiseReceiver in
      filePromiseReceiver.receivePromisedFiles(
        atDestination: destinationURL,
        options: [:],
        operationQueue: operationQueue,
        reader: { (url, error) in
          if let error = error {
            dump(error)
          } else {
            print("Received file at url \(url)")
          }
          print(filePromiseReceiver.fileNames, filePromiseReceiver.fileTypes)
        })
    })
    return true
  }

(и вот пример проекта, демонстрирующего проблему - https://github.com/svenewers/DropTestArticle)

Дело в том, что это прекрасно работает, когда я перетаскиваю письма из любого другого приложения электронной почты (например, Outlook), но когда письма приходят из Apple Mail, происходит что-то странное:

Файлы eml записываются на мой URL-адрес назначения, и я вижу, что они есть в Finder, но reader: { (url, error) inблок кода в моем коде никогда не получает свои URL-адреса. Вместо этого он сидит там и ждет примерно 60 секунд, а затем выдает мне следующую ошибку:

- Error Domain=NSURLErrorDomain Code=-1001 "(null)" #0

Это, по-видимому, означает, что экземпляр NSURL каким-то образом истек.

Кто-нибудь знает, что вызывает это и как я могу это решить? Это проблема, вызванная моим кодом или неправильным поведением приложения Apple Mail?

0 ответов

Другие вопросы по тегам