Как запретить Mobile Safari вставлять URL-адрес, закодированный в формате base64, в электронное письмо при совместном использовании?

У меня есть веб-приложение javascript, которое создает клиентскую часть PDF файлов в браузере пользователя (с использованием pdfmake).

В мобильном Safari пользователь может открыть этот PDF файл и просмотреть его изначально, но когда они отправятся поделиться им по электронной почте, сообщение вставляет весь email-код, основанный на base64 для PDF, в электронную почту, и он быстро становится громоздким.

Какое обходное решение мне нужно сделать, чтобы он этого не сделал? Нет ли способа указать сообщение по умолчанию (возможно, в некоторых метаданных), когда пользователь отправляет общий доступ к документу по электронной почте?

В настоящее время пользовательский интерфейс неприемлем, поскольку пользователю необходимо удалить весь URL-адрес base64, прежде чем отправлять свое сообщение, которое длится несколько страниц.

Я бы предпочел не отправлять PDF файл на сервер, чтобы получить меньший URL-адрес.

Ответы

Ответ 1

Когда пользователь переходит по электронной почте, затем декодирует Base64 следующим образом

let decodedData = NSData(base64EncodedString: base64String!, options: NSDataBase64DecodingOptions(rawValue: 0))
let decodedString = NSString(data: decodedData, encoding: NSUTF8StringEncoding)
print(decodedString)

Теперь используйте decodedString в качестве тела сообщения в MFMailComposeViewController

mailComposerVC.setMessageBody(decodedString, isHTML: false)