Кажется, что когда вы отправляете электронное письмо с вложением, все в нем оборачивается как составное / смешанное сообщение, и все кодируется как Base64, включая тело сообщения и подпись! Вот так это выглядит ...
Content-Type: multipart/mixed;
boundary="_003_81E0DB72B1F643FBAA40D9BCB66A11E4_"
--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
SGkgTW9tIQ==
(это "Hi Mom!"
закодировано как Base64)
--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_
Content-Type: application/octet-stream; name="MyAttachment.xlsx"
Content-Description: MyAttachment.xlsx
Content-Disposition: attachment; filename="MyAttachment.xlsx"; size=15262
Content-Transfer-Encoding: base64
UEsDBBQABgAIAAAAIQA3Mb2RgAEAAIQFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC
чик
AF81AABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAANAA0AaAMAACA4AAAAAA==
--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_
Content-Type: text/html; name="ATT00001.htm"
Content-Description: ATT00001.htm
Content-Disposition: attachment; filename="ATT00001.htm"; size=91
Content-Transfer-Encoding: base64
PGh0bWw+PGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdj48L2Rpdj48ZGl2Pjxicj48YnI+U2VudCBmcm9tIG15IGlQYWQ8L2Rpdj48L2JvZHk+PC9odG1sPg==
(это
<html><body bgcolor="#FFFFFF"><div></div><div><br><br>Sent from my iPad</div></body></html>
как Base64)
--_003_81E0DB72B1F643FBAA40D9BCB66A11E4_--
Даже если вы зайдете в Настройки >> Почта, Контакты, Календари и удалите подпись, вы все равно получите пустой HTML-документ.
Вероятно, правильным долгосрочным ответом будет отправить это в Apple как ошибку и подождать. В то же время, если это действительно ошибка showtopper, я бы посоветовал вам сгенерировать все тело составной / смешанной электронной почты самостоятельно, без подписи, и посмотреть, не обманывает ли это MFMailComposeViewController, думая, что электронная почта не имеет вложения. Лично я думаю, что я просто скажу своему клиенту жить с этим. :)