Как отправить документы типа пакетов в качестве почтового вложения?

StackOverflow https://stackoverflow.com//questions/11665177

Вопрос

У меня есть документ типа пакета - I.e. Это действительно папка, но она использует NSFileWrapper и соответствует com.apple.package, чтобы отображаться как файл - который я хочу поделиться по электронной почте.Я сделал MFMailComposeViewController, и я пытаюсь выработать, что дать первому параметру addAttachmentData:mimeType:fileName:.

Пакет содержит файл изображения и Plist, хотя это может измениться в будущем.

Как связать пакет к данным?Это правильный способ сделать это?

Это было полезно?

Решение

Как вы сказали, пакет на самом деле в папке.Он интерпретируется как пакет только на операционных системах OSX.

Таким образом, почтовый протокол не может интерпретировать его как пакет / как один файл, и видит только стандартную папку.

Единственный способ отправить это по электронной почте - это сжать файлы в один файл.Вы можете сделать это, создавая ZIP-архив вашего пакета или файл Tar.gz, например.

Есть несколько решений для создания ZIP-архива из кода в какао.Вы можете использовать библиотеку Libz и C-код напрямую или использовать некоторые сторонние библиотеки (у которых уже есть универсальный код и помогает вам сделать это проще, используя методы какао), как ziparchive или другие.

Другие советы

Мои файлы не велики, поэтому Zip LifeLL, и я также пытаюсь избежать использования третьего лица.Поэтому я придумал другой подход для прикрепления нескольких файлов в одном вложении электронной почты.

Во-первых, у меня уже есть объект NSFileWrapper, который содержит все файлы, которые я хочу в приложении.Ключ состоит в том, чтобы использовать метод сериала NSFileWrapper, чтобы получить объект NSDATA для использования для вложения электронной почты.Я использую «Приложение / октет-поток» для Mimetype.Когда я вернусь к открытию вложенности, я использую INITWITHSERIALIALICALICALICEDRIZENATIONSRESESSENTALRESENTALSENTALRESENTALSENTALSENTATIONESENTATIONANTATION:

Это работает для меня, потому что прикрепленный файл будет использоваться только и открыты моим приложением.Очевидно, что это не будет работать, если вам нужно что-то сделать с приложением за пределами вашего приложения.В этом случае Zip кажется, что это будет логический выбор.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top