Как получить данные отброшенного почтового сообщения в приложении Какао? - PullRequest
2 голосов
/ 07 ноября 2010

Я работаю над приложением Какао, в которое я хотел бы разрешить удаление сообщений Mail.

Если я включу public.plain-text в типы документов Info.plist, я могу удалить почтусообщение на значок в Dock и получить путь к файлу, как это из метода делегата application:openFiles::

"/Users/smokris/Library/Caches/TemporaryItems/Re_ multiplexer question 3.eml"

... и я могу прочитать необработанные данные сообщения из этого файла.Пока все хорошо.

Однако я также хочу, чтобы пользователь мог отбрасывать почтовые сообщения в окне приложения.Итак, я делаю это:

[window registerForDraggedTypes:[NSArray arrayWithObjects:(NSString *)kPasteboardTypeFileURLPromise,nil]];

... и в performDragOperation: я получаю URL-адрес, подобный этому, из монтажного листа:

message:%3CAANLkTikeTeWYU39JpTovxF2PC0Mm=xkrU7fHNh6gGh6V@mail.gmail.com%3E

Если я пытаюсь сделать NSURLRequestпо этому URL-адресу выдается ошибка «неподдерживаемый URL-адрес».

Как получить необработанные данные сообщения с этого message: URL-адреса?

1 Ответ

1 голос
/ 07 ноября 2010

Я попробовал это с примером кода Apple PasteboardPeeper (от http://developer.apple.com/library/mac/#samplecode/PasteboardPeeker/Introduction/Intro.html),, и перетаскивание сообщения в основную часть показало, что путь сообщения доступен:

PasteboardRef: 1395632  ItemCount: 1
   Index: 1  item ID: 789514
      "dyn.ah62d4rv4gu8y4zvanr41xxxxx30n25wqz4ca5pfsr30c35feb4he2pssrxgn6vasbu1g7dfqm1"
      "MV Super-secret message transfer pasteboard type"
      '' ______ 82  /Users/guest/Library/Mail/IMAP-me@gmail.com@imap.gmail.com/INBOX.imapmb

      "dyn.ah62d4rv4gu8zg7puqz3c465fqr3gn7bakf41k55rqf4g86vasbu1g7dfqm10c6xeeb4hw6df"
      "Super-secret Automator pasteboard type"
      '' ______ 454  <?xml version= 1.0  encoding= UTF-8 ?> < DOCTYPE plist PUBLIC  -//Apple//DTD PLI

      "dyn.ah62d4rv4gu8yc6durvwwa3xmrvw1gkdusm1044pxqyuha2pxsvw0e55bsmwca7d3sbwu"
      "Apple files promise pasteboard type"
      '' ______ 212  <?xml version= 1.0  encoding= UTF-8 ?> < DOCTYPE plist PUBLIC  -//Apple//DTD PLI

      "public.url"
      ""
      'url ' ______ 74  message: 3C6EEF5CFD6A04D6395BC617836C91FC3A050542759970026E@cornell.edu 3E

      "public.url-name"
      ""
      'urln' ______ 56  A friend thought you would be interested in this station

      "com.apple.pasteboard.promised-file-content-type"
      ""
      '' ______ 23  dyn.ah6xxxqmxhk2x43prru

      "com.apple.pasteboard.promised-file-url"
      ""
      '' ______ 0  

      "dyn.ah62d4rv4gu8y6y4usm10xxxxqzb085xyqz1hk64uqm10c6xenv61a3k"
      "NSPromiseContentsPboardType"
      '' ______ 0  

      "dyn.ah62d4rv4gk81a4dgsq"
      ""
      'phfs' PT____ 14  ????????  Pssf

Я не знаю, что такое "тип сверхсекретного обмена сообщениями MV", но вы можете не использовать его в качестве имени ключа; скорее, вы могли бы просто пройтись по всем ключам и посмотреть, не выглядит ли какой-нибудь из них как путь к файлу.

P.S. Это также может представлять интерес: http://www.wuffwuffware.com/developer.html

...