Возможно, это проблема вашего почтового клиента, а не вашей программы. Текстовый файл отображается в виде вложения в представлении составления почты, но когда вы получаете электронное письмо, оно отображается в основном тексте?
Когда вы получаете электронное письмо, попробуйте просмотреть его источник (или просмотреть оригинал, или как его называет ваш почтовый клиент). Вы должны увидеть что-то подобное в электронном письме:
--Apple-Mail-1-494911569
Content-Disposition: attachment;
filename=myFile
Content-Type: text/plain;
name=myFile
Content-Transfer-Encoding: 7bit
Text of the file here.
--Apple-Mail-1-494911569
Если вы видите это в электронном письме, значит, файл прикреплен правильно. Возможно, ваш почтовый клиент игнорирует MIME-заголовок Content-Disposition. В сообщениях GMail и Apple почтовые разделы, подобные приведенному выше, определенно отображаются в виде вложений.
Для чего стоит, вот некоторый полный рабочий код, который создает электронное письмо, добавляет тело HTML, добавляет текстовое вложение и отправляет показывает составное представление:
NSData *textData = [[self getEmailAttachment] dataUsingEncoding:NSUTF8StringEncoding];
NSString *htmlData = [self getEmailBodyHTML];
/* Set up the mail compose view and put in the body/attachment */
MFMailComposeViewController *mailComposer = [[[MFMailComposeViewController alloc] init] autorelease];
[mailComposer setMessageBody:htmlData isHTML:NO];
[mailComposer addAttachmentData:textData mimeType:@"text/plain" fileName:@"tripometer_report.csv"];
/* Set default subject */
[mailComposer setSubject:@"Email subject"];
mailComposer.mailComposeDelegate = self;
[self presentModalViewController:mailComposer animated:YES];